diff --git a/docs-src/_ext/edit_on_github.py b/docs-src/_ext/edit_on_github.py deleted file mode 100644 index d8c27ab..0000000 --- a/docs-src/_ext/edit_on_github.py +++ /dev/null @@ -1,44 +0,0 @@ -""" -Sphinx extension to add ReadTheDocs-style "Edit on GitHub" links to the -sidebar. -Loosely based on https://github.com/astropy/astropy/pull/347 -""" - -import os -import warnings - - -__licence__ = 'BSD (3 clause)' - - -def get_github_url(app, view, path): - return 'https://github.com/{project}/{view}/{branch}/{path}'.format( - project=app.config.edit_on_github_project, - view=view, - branch=app.config.edit_on_github_branch, - path=path - ) - - -def html_page_context(app, pagename, templatename, context, doctree): - if templatename != 'page.html': - return None - - if not app.config.edit_on_github_project: - warnings.warn("edit_on_github_project not specified") - return None - - path = os.path.relpath(doctree.get('source'), app.builder.srcdir) - show_url = get_github_url(app, 'blob', path) - edit_url = get_github_url(app, 'edit', path) - - context['show_on_github_url'] = show_url - context['edit_on_github_url'] = edit_url - - return None - - -def setup(app): - app.add_config_value('edit_on_github_project', '', True) - app.add_config_value('edit_on_github_branch', 'master', True) - app.connect('html-page-context', html_page_context) diff --git a/docs-src/_static/osi.png b/docs-src/_static/osi.png deleted file mode 100644 index cdf9d9a..0000000 Binary files a/docs-src/_static/osi.png and /dev/null differ diff --git a/docs-src/_templates/sourcelink.html b/docs-src/_templates/sourcelink.html deleted file mode 100644 index 3281659..0000000 --- a/docs-src/_templates/sourcelink.html +++ /dev/null @@ -1,17 +0,0 @@ - - -{%- if show_source and has_source and sourcename %} -

{{ _('This Page') }}

- -{%- endif %} \ No newline at end of file diff --git a/docs-src/_templates/sourcelink.html.py b/docs-src/_templates/sourcelink.html.py deleted file mode 100644 index cbbca45..0000000 --- a/docs-src/_templates/sourcelink.html.py +++ /dev/null @@ -1,17 +0,0 @@ -XXXXXXXXXXX XXX XXXXXX XXXXXXXXXXXXXXX - -B BB BBBBBBBBBBB BBB BBBBBBBBBB BBB BBBBBBBBBB - XXXX _('This Page') XXXXX - XXX XXXXXXXXXXXXXXXXXXXXXXX - XXXXXX XXXXXXFX - XXXXXXXXXXXXXXX _('Show Source') XXXXXXXXX - B BB BBBBBBBBBBBBBBBBBB - XXXXXX XXXXXXX - XXXXXXXXXXXXXXX _('Show on GitHub') XXXXXXXXX - B BBBBB - B BB BBBBBBBBBBBBBBBBBB - XXXXXX XXXXXXX - XXXXXXXXXXXXXXX _('Edit on GitHub') XXXXXXXXX - B BBBBB - XXXXX -B BBBBB \ No newline at end of file diff --git a/docs-src/_theme/sphinx_rtd_theme/Apache-License-2.0.txt b/docs-src/_theme/sphinx_rtd_theme/Apache-License-2.0.txt deleted file mode 100644 index a2e633f..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/Apache-License-2.0.txt +++ /dev/null @@ -1,205 +0,0 @@ -sphinx_rtd_theme/static/fonts/RobotoSlab-Bold.ttf -sphinx_rtd_theme/static/fonts/RobotoSlab-Regular.tt/ - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs-src/_theme/sphinx_rtd_theme/Gemfile b/docs-src/_theme/sphinx_rtd_theme/Gemfile deleted file mode 100644 index 9f2165c..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# A sample Gemfile -source "https://rubygems.org" - -gem "compass" diff --git a/docs-src/_theme/sphinx_rtd_theme/Gruntfile.js b/docs-src/_theme/sphinx_rtd_theme/Gruntfile.js deleted file mode 100644 index ac9a127..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/Gruntfile.js +++ /dev/null @@ -1,163 +0,0 @@ -module.exports = function(grunt) { - - // load all grunt tasks - require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); - - grunt.initConfig({ - open : { - dev: { - path: 'http://localhost:1919' - } - }, - - connect: { - server: { - options: { - port: 1919, - base: 'demo_docs/build', - livereload: true - } - } - }, - copy: { - fonts: { - files: [ - { - expand: true, - flatten: true, - src: ['bower_components/font-awesome/fonts/*'], - dest: 'sphinx_rtd_theme/static/fonts/', - filter: 'isFile' - }, - { - expand: true, - flatten: true, - src: ['bower_components/lato-googlefont/Lato-Bold.ttf', - 'bower_components/lato-googlefont/Lato-Regular.ttf'], - dest: 'sphinx_rtd_theme/static/fonts/', - filter: 'isFile' - }, - { - expand: true, - flatten: true, - src: ['bower_components/robotoslab-googlefont/RobotoSlab-Bold.ttf', - 'bower_components/robotoslab-googlefont/RobotoSlab-Regular.ttf'], - dest: 'sphinx_rtd_theme/static/fonts/', - filter: 'isFile' - }, - { - expand: true, - flatten: true, - src: ['bower_components/inconsolata-googlefont/Inconsolata-Bold.ttf', - 'bower_components/inconsolata-googlefont/Inconsolata-Regular.ttf'], - dest: 'sphinx_rtd_theme/static/fonts/', - filter: 'isFile' - } - ] - } - }, - - sass: { - dev: { - options: { - style: 'expanded', - loadPath: ['bower_components/bourbon/dist', 'bower_components/neat/app/assets/stylesheets', 'bower_components/font-awesome/scss', 'bower_components/wyrm/sass'] - }, - files: [{ - expand: true, - cwd: 'sass', - src: ['*.sass'], - dest: 'sphinx_rtd_theme/static/css', - ext: '.css' - }] - }, - build: { - options: { - style: 'compressed', - loadPath: ['bower_components/bourbon/dist', 'bower_components/neat/app/assets/stylesheets', 'bower_components/font-awesome/scss', 'bower_components/wyrm/sass'] - }, - files: [{ - expand: true, - cwd: 'sass', - src: ['*.sass'], - dest: 'sphinx_rtd_theme/static/css', - ext: '.css' - }] - } - }, - - browserify: { - dev: { - options: { - external: ['jquery'], - alias: { - 'sphinx-rtd-theme': './js/theme.js' - } - }, - src: ['js/*.js'], - dest: 'sphinx_rtd_theme/static/js/theme.js' - }, - build: { - options: { - external: ['jquery'], - alias: { - 'sphinx-rtd-theme': './js/theme.js' - } - }, - src: ['js/*.js'], - dest: 'sphinx_rtd_theme/static/js/theme.js' - } - }, - - exec: { - bower_update: { - cmd: 'bower update' - }, - build_sphinx: { - cmd: 'sphinx-build demo_docs/source demo_docs/build' - } - }, - clean: { - build: ["demo_docs/build"], - fonts: ["sphinx_rtd_theme/static/fonts"] - }, - - watch: { - /* Compile sass changes into theme directory */ - sass: { - files: ['sass/*.sass', 'bower_components/**/*.sass'], - tasks: ['sass:DEV_CONTENTS_XML'] - }, - /* Changes in theme dir rebuild sphinx */ - sphinx: { - files: ['sphinx_rtd_theme/**/*', 'demo_docs/**/*.rst', 'demo_docs/**/*.py'], - tasks: ['clean:build','exec:build_sphinx'] - }, - /* JavaScript */ - browserify: { - files: ['js/*.js'], - tasks: ['browserify:DEV_CONTENTS_XML'] - }, - /* live-reload the demo_docs if sphinx re-builds */ - livereload: { - files: ['demo_docs/build/**/*'], - options: { livereload: true } - } - } - - }); - - grunt.loadNpmTasks('grunt-exec'); - grunt.loadNpmTasks('grunt-contrib-connect'); - grunt.loadNpmTasks('grunt-contrib-watch'); - grunt.loadNpmTasks('grunt-contrib-sass'); - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-contrib-copy'); - grunt.loadNpmTasks('grunt-open'); - grunt.loadNpmTasks('grunt-browserify'); - - grunt.registerTask('fonts', ['clean:fonts','copy:fonts']); - grunt.registerTask('default', ['exec:bower_update','clean:build','sass:DEV_CONTENTS_XML','browserify:DEV_CONTENTS_XML','exec:build_sphinx','connect','open','watch']); - grunt.registerTask('build', ['exec:bower_update','clean:build','sass:build','browserify:build','exec:build_sphinx']); -} - diff --git a/docs-src/_theme/sphinx_rtd_theme/LICENSE b/docs-src/_theme/sphinx_rtd_theme/LICENSE deleted file mode 100644 index 921f073..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Dave Snider - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs-src/_theme/sphinx_rtd_theme/MANIFEST.in b/docs-src/_theme/sphinx_rtd_theme/MANIFEST.in deleted file mode 100644 index 1e6a2eb..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/MANIFEST.in +++ /dev/null @@ -1,11 +0,0 @@ -include *.txt -include LICENSE -recursive-include sphinx_rtd_theme *.conf -recursive-include sphinx_rtd_theme *.css -recursive-include sphinx_rtd_theme *.eot -recursive-include sphinx_rtd_theme *.html -recursive-include sphinx_rtd_theme *.js -recursive-include sphinx_rtd_theme *.svg -recursive-include sphinx_rtd_theme *.ttf -recursive-include sphinx_rtd_theme *.woff -recursive-include sphinx_rtd_theme *.woff2 diff --git a/docs-src/_theme/sphinx_rtd_theme/OFL-License.txt b/docs-src/_theme/sphinx_rtd_theme/OFL-License.txt deleted file mode 100644 index 1827a4d..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/OFL-License.txt +++ /dev/null @@ -1,104 +0,0 @@ -sphinx_rtd_theme/static/fonts/Inconsolata-Bold.ttf -sphinx_rtd_theme/static/fonts/Lato-Bold.ttf -sphinx_rtd_theme/static/fonts/Inconsolata.ttf -sphinx_rtd_theme/static/fonts/Lato-Regular.ttf - - - -Copyright (c) , (), -with Reserved Font Name . -Copyright (c) , (), -with Reserved Font Name . -Copyright (c) , (). - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs-src/_theme/sphinx_rtd_theme/bower.json b/docs-src/_theme/sphinx_rtd_theme/bower.json deleted file mode 100644 index c0c8cd9..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/bower.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "sphinx-rtd-theme", - "version": "0.2.4", - "homepage": "https://github.com/rtfd/sphinx_rtd_theme", - "authors": [ - "Dave Snider " - ], - "description": "Sphinx theme for readthedocs.org.", - "license": "MIT", - "main": [ - "js/theme.js" - ], - "ignore": [ - "docs", - "demo_docs", - ".gitignore", - ".DS_Store", - ".sass-cache*", - ".bowerrc", - "bower.json", - "package.json", - "Gruntfile.js", - "node_modules", - "bower_components", - "test", - "tests", - "src" - ], - "devDependencies": { - "wyrm": "~1.0.x" - }, - "dependencies": { - "lato-googlefont": "*", - "robotoslab-googlefont": "*", - "inconsolata-googlefont": "*", - "font-awesome": "~4.7" - }, - "resolutions": { - "font-awesome": "~4.7" - } -} diff --git a/docs-src/_theme/sphinx_rtd_theme/js/theme.js b/docs-src/_theme/sphinx_rtd_theme/js/theme.js deleted file mode 100644 index 5ad3e50..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/js/theme.js +++ /dev/null @@ -1,166 +0,0 @@ -var jQuery = (typeof(window) != 'undefined') ? window.jQuery : require('jquery'); - -// Sphinx theme nav state -function ThemeNav () { - - var nav = { - navBar: null, - win: null, - winScroll: false, - winResize: false, - linkScroll: false, - winPosition: 0, - winHeight: null, - docHeight: null, - isRunning: false - }; - - nav.enable = function () { - var self = this; - - if (!self.isRunning) { - self.isRunning = true; - jQuery(function ($) { - self.init($); - - self.reset(); - self.win.on('hashchange', self.reset); - - // Set scroll monitor - self.win.on('scroll', function () { - if (!self.linkScroll) { - self.winScroll = true; - } - }); - setInterval(function () { if (self.winScroll) self.onScroll(); }, 25); - - // Set resize monitor - self.win.on('resize', function () { - self.winResize = true; - }); - setInterval(function () { if (self.winResize) self.onResize(); }, 25); - self.onResize(); - }); - }; - }; - - nav.init = function ($) { - var doc = $(document), - self = this; - - this.navBar = $('div.wy-side-scroll:first'); - this.win = $(window); - - // Set up javascript UX bits - $(document) - // Shift nav in mobile when clicking the menu. - .on('click', "[data-toggle='wy-nav-top']", function() { - $("[data-toggle='wy-nav-shift']").toggleClass("shift"); - $("[data-toggle='rst-versions']").toggleClass("shift"); - }) - - // Nav menu link click operations - .on('click', ".wy-menu-vertical .current ul li a", function() { - var target = $(this); - // Close menu when you click a link. - $("[data-toggle='wy-nav-shift']").removeClass("shift"); - $("[data-toggle='rst-versions']").toggleClass("shift"); - // Handle dynamic display of l3 and l4 nav lists - self.toggleCurrent(target); - self.hashChange(); - }) - .on('click', "[data-toggle='rst-current-version']", function() { - $("[data-toggle='rst-versions']").toggleClass("shift-up"); - }) - - // Make tables responsive - $("table.docutils:not(.field-list)") - .wrap("
"); - - // Add expand links to all parents of nested ul - $('.wy-menu-vertical ul').not('.simple').siblings('a').each(function () { - var link = $(this); - expand = $(''); - expand.on('click', function (ev) { - self.toggleCurrent(link); - ev.stopPropagation(); - return false; - }); - link.prepend(expand); - }); - }; - - nav.reset = function () { - // Get anchor from URL and open up nested nav - var anchor = encodeURI(window.location.hash); - if (anchor) { - try { - var link = $('.wy-menu-vertical') - .find('[href="' + anchor + '"]'); - // If we didn't find a link, it may be because we clicked on - // something that is not in the sidebar (eg: when using - // sphinxcontrib.httpdomain it generates headerlinks but those - // aren't picked up and placed in the toctree). So let's find - // the closest header in the document and try with that one. - if (link.length === 0) { - var doc_link = $('.document a[href="' + anchor + '"]'); - var closest_section = doc_link.closest('div.section'); - // Try again with the closest section entry. - link = $('.wy-menu-vertical') - .find('[href="#' + closest_section.attr("id") + '"]'); - - } - $('.wy-menu-vertical li.toctree-l1 li.current') - .removeClass('current'); - link.closest('li.toctree-l2').addClass('current'); - link.closest('li.toctree-l3').addClass('current'); - link.closest('li.toctree-l4').addClass('current'); - } - catch (err) { - console.log("Error expanding nav for anchor", err); - } - } - }; - - nav.onScroll = function () { - this.winScroll = false; - var newWinPosition = this.win.scrollTop(), - winBottom = newWinPosition + this.winHeight, - navPosition = this.navBar.scrollTop(), - newNavPosition = navPosition + (newWinPosition - this.winPosition); - if (newWinPosition < 0 || winBottom > this.docHeight) { - return; - } - this.navBar.scrollTop(newNavPosition); - this.winPosition = newWinPosition; - }; - - nav.onResize = function () { - this.winResize = false; - this.winHeight = this.win.height(); - this.docHeight = $(document).height(); - }; - - nav.hashChange = function () { - this.linkScroll = true; - this.win.one('hashchange', function () { - this.linkScroll = false; - }); - }; - - nav.toggleCurrent = function (elem) { - var parent_li = elem.closest('li'); - parent_li.siblings('li.current').removeClass('current'); - parent_li.siblings().find('li.current').removeClass('current'); - parent_li.find('> ul li.current').removeClass('current'); - parent_li.toggleClass('current'); - } - - return nav; -}; - -module.exports.ThemeNav = ThemeNav(); - -if (typeof(window) != 'undefined') { - window.SphinxRtdTheme = { StickyNav: module.exports.ThemeNav }; -} diff --git a/docs-src/_theme/sphinx_rtd_theme/package.json b/docs-src/_theme/sphinx_rtd_theme/package.json deleted file mode 100644 index c765d1e..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "sphinx_rtd_theme", - "version": "0.0.11", - "private": true, - "dependencies": {}, - "devDependencies": { - "browserify": "^11.0.0", - "connect-livereload": "~0.3.0", - "grunt": "~0.4.1", - "grunt-browserify": "^3.8.0", - "grunt-contrib-clean": "0.5.0", - "grunt-contrib-connect": "0.5.0", - "grunt-contrib-copy": "0.5.0", - "grunt-contrib-sass": "~0.7.2", - "grunt-contrib-watch": "~0.4.3", - "grunt-exec": "~0.4.2", - "grunt-open": "0.2.2", - "matchdep": "~0.1.2" - } -} diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_badge.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_badge.sass deleted file mode 100644 index e2ba80b..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_badge.sass +++ /dev/null @@ -1,88 +0,0 @@ -.rst-versions - position: fixed - bottom: 0 - left: 0 - width: $nav-desktop-width - color: $section-background-color - background: darken($menu-background-color, 8%) - border-top: solid 10px $menu-background-color - font-family: $base-font-family - z-index: $z-index-tray - a - color: $link_color - text-decoration: none - .rst-badge-small - display: none - .rst-current-version - padding: $base-line-height / 2 - background-color: darken($menu-background-color, 5%) - display: block - text-align: right - font-size: 90% - cursor: pointer - color: $green - +clearfix - .fa - color: $section-background-color - .fa-book - float: left - .icon-book - float: left - &.rst-out-of-date - background-color: $red - color: $white - &.rst-active-old-version - background-color: $yellow - color: $black - &.shift-up .rst-other-versions - display: block - .rst-other-versions - font-size: 90% - padding: $base-line-height / 2 - color: $text-medium - display: none - hr - display: block - height: 1px - border: 0 - margin: 20px 0 - padding: 0 - border-top: solid 1px lighten($menu-background-color, 5%) - dd - display: inline-block - margin: 0 - a - display: inline-block - padding: $base-line-height / 4 - color: $section-background-color - &.rst-badge - width: auto - bottom: 20px - right: 20px - left: auto - border: none - max-width: $nav-desktop-width - .icon-book - float: none - .fa-book - float: none - &.shift-up .rst-current-version - text-align: right - .fa-book - float: left - .icon-book - float: left - .rst-current-version - width: auto - height: 30px - line-height: 30px - padding: 0 $base-line-height / 4 - display: block - text-align: center - -+media($tablet) - .rst-versions - width: 85% - display: none - &.shift - display: block diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_badge_fa.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_badge_fa.sass deleted file mode 100644 index dbc3bf4..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_badge_fa.sass +++ /dev/null @@ -1,68 +0,0 @@ -// Slimmer version of FA for use on the badge_only.sass file. - -+font-face(FontAwesome, '#{$font-awesome-dir}fontawesome-webfont') - -.fa:before - display: inline-block - font-family: FontAwesome - font-style: normal - font-weight: normal - line-height: 1 - text-decoration: inherit - +font-smooth - -a .fa - display: inline-block - text-decoration: inherit - - -li - .fa - display: inline-block - .fa-large:before, - .fa-large:before - /* 1.5 increased font size for fa-large * 1.25 width - width: 1.5 * 1.25em - -ul.fas - list-style-type: none - margin-left: 2em - text-indent: -0.8em - li - .fa - width: .8em - .fa-large:before, - .fa-large:before - /* 1.5 increased font size for fa-large * 1.25 width - vertical-align: baseline - // width: 1.5*1.25em - -.fa-book:before - content: "\f02d" - -.icon-book:before - content: "\f02d" - -.fa-caret-down:before - content: "\f0d7" - -.icon-caret-down:before - content: "\f0d7" - -.fa-caret-up:before - content: "\f0d8" - -.icon-caret-up:before - content: "\f0d8" - -.fa-caret-left:before - content: "\f0d9" - -.icon-caret-left:before - content: "\f0d9" - -.fa-caret-right:before - content: "\f0da" - -.icon-caret-right:before - content: "\f0da" diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_breadcrumbs.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_breadcrumbs.sass deleted file mode 100644 index 779c7db..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_breadcrumbs.sass +++ /dev/null @@ -1,31 +0,0 @@ -.wy-breadcrumbs li - display: inline-block - &.wy-breadcrumbs-aside - float: right - a - display: inline-block - padding: 5px - &:first-child - padding-left: 0 - code - padding: 5px - border: none - background: none - &.literal - color: $text-color -.wy-breadcrumbs-extra - margin-bottom: 0 - color: $text-light - font-size: 80% - display: inline-block - - -+media($mobile) - .wy-breadcrumbs-extra - display: none - .wy-breadcrumbs li.wy-breadcrumbs-aside - display: none - -@media print - .wy-breadcrumbs li.wy-breadcrumbs-aside - display: none diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_font_awesome_compatibility.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_font_awesome_compatibility.sass deleted file mode 100644 index 5857956..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_font_awesome_compatibility.sass +++ /dev/null @@ -1,24 +0,0 @@ -.icon - @extend .fa -.icon-home - @extend .fa-home -.icon-search - @extend .fa-search -.icon-book - @extend .fa-book -.icon-caret-down - @extend .fa-caret-down -.icon-github - @extend .fa-github -.icon-bitbucket - @extend .fa-bitbucket -.icon-gitlab - @extend .fa-gitlab -.icon-fire - @extend .fa-fire -.icon-circle-arrow-right - @extend .fa-arrow-circle-right -.icon-circle-arrow-left - @extend .fa-arrow-circle-left -.icon-link - @extend .fa-link diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_font_local.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_font_local.sass deleted file mode 100644 index 9fe5f19..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_font_local.sass +++ /dev/null @@ -1,36 +0,0 @@ -@font-face - font-family: 'Inconsolata' - font-style: normal - font-weight: 400 - src: local('Inconsolata'), local('Inconsolata-Regular'), url(../fonts/Inconsolata-Regular.ttf) format('truetype') - -@font-face - font-family: 'Inconsolata' - font-style: normal - font-weight: 700 - src: local('Inconsolata Bold'), local('Inconsolata-Bold'), url(../fonts/Inconsolata-Bold.ttf) format('truetype') - -@font-face - font-family: 'Lato' - font-style: normal - font-weight: 400 - src: local('Lato Regular'), local('Lato-Regular'), url(../fonts/Lato-Regular.ttf) format('truetype') - -@font-face - font-family: 'Lato' - font-style: normal - font-weight: 700 - src: local('Lato Bold'), local('Lato-Bold'), url(../fonts/Lato-Bold.ttf) format('truetype') - -@font-face - font-family: 'Roboto Slab' - font-style: normal - font-weight: 400 - src: local('Roboto Slab Regular'), local('RobotoSlab-Regular'), url(../fonts/RobotoSlab-Regular.ttf) format('truetype') - -@font-face - font-family: 'Roboto Slab' - font-style: normal - font-weight: 700 - src: local('Roboto Slab Bold'), local('RobotoSlab-Bold'), url(../fonts/RobotoSlab-Bold.ttf) format('truetype') - diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_layout.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_layout.sass deleted file mode 100644 index b7c4a48..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_layout.sass +++ /dev/null @@ -1,404 +0,0 @@ -.wy-affix - position: fixed - top: $gutter - -.wy-menu - a:hover - text-decoration: none - -.wy-menu-horiz - +clearfix - ul, li - display: inline-block - li:hover - background: rgba(255,255,255,.1) - li - &.divide-left - border-left: solid 1px hsl(0, 0%, 25%) - &.divide-right - border-right: solid 1px hsl(0, 0%, 25%) - a - height: $base-font-size * 2 - display: inline-block - line-height: $base-font-size * 2 - padding: 0 $base-font-size - -.wy-menu-vertical - width: $nav-desktop-width - header, p.caption - height: $base-font-size * 2 - display: inline-block - line-height: $base-font-size * 2 - padding: 0 $gutter - margin-bottom: 0 - display: block - font-weight: bold - text-transform: uppercase - font-size: 80% - color: $menu-color - white-space: nowrap - - ul - margin-bottom: 0 - li - &.divide-top - border-top: solid 1px hsl(0, 0%, 25%) - &.divide-bottom - border-bottom: solid 1px hsl(0, 0%, 25%) - &.current - background: darken($menu-vertical-background-color, 10%) - a - color: $menu-link-medium - border-right: solid 1px darken($menu-vertical-background-color, 20%) - padding: $gutter / 4 $gutter * 1.5 - &:hover - background: darken($menu-vertical-background-color, 15%) - code - border: none - background: inherit - color: inherit - padding-left: 0 - padding-right: 0 - // Expand links - span.toctree-expand - display: block - float: left - margin-left: -1.2em - @extend .fa - @extend .fa-plus-square-o - font-size: .8em - line-height: 1.6em - color: darken($menu-link-medium, 20%) - - // On state for the first level - li.on a, li.current > a - color: $menu-link-color - padding: $gutter / 4 $gutter - font-weight: bold - position: relative - background: $menu-vertical-background-color - border: none - border-bottom: solid 1px darken($menu-vertical-background-color, 20%) - border-top: solid 1px darken($menu-vertical-background-color, 20%) - padding-left: $gutter -4px - +font-smooth - &:hover - background: $menu-vertical-background-color - span.toctree-expand - color: $menu-link-medium - span.toctree-expand - @extend .fa - @extend .fa-minus-square-o - display: block - font-size: .8em - line-height: 1.6em - color: darken($menu-link-medium, 30%) - - // This is the on state for pages beyond second level - li.toctree-l1.current li.toctree-l2, li.toctree-l2.current li.toctree-l3 - > ul - display: none - &.current > ul - display: block - li.toctree-l2 - &.current - > a - background: darken($menu-vertical-background-color, 20%) - padding: $gutter / 4 $gutter * 1.5 - li.toctree-l3 > a - display: block - background: darken($menu-vertical-background-color, 20%) - padding: $gutter / 4 $gutter * 2.5 - a:hover span.toctree-expand - color: $menu-link-medium - span.toctree-expand - color: darken($menu-vertical-background-color, 35%) - li.toctree-l3 - font-size: .9em - &.current - > a - background: darken($menu-vertical-background-color, 25%) - padding: $gutter / 4 $gutter * 2.5 - li.toctree-l4 > a - display: block - background: darken($menu-vertical-background-color, 25%) - padding: $gutter / 4 $gutter * 3.5 - border-top: none - border-bottom: none - a:hover span.toctree-expand - color: $menu-link-medium - span.toctree-expand - color: darken($menu-vertical-background-color, 40%) - li.toctree-l4 - font-size: .9em - - li.current ul - display: block - li ul - margin-bottom: 0 - display: none - .local-toc - li ul - display: block - li ul li a - margin-bottom: 0 - color: $menu-link-light - font-weight: normal - a - display: inline-block - line-height: 18px - padding: $gutter / 4 $gutter - display: block - position: relative - font-size: 90% - color: $menu-link-light - &:hover - background-color: lighten($menu-background-color, 10%) - cursor: pointer - span.toctree-expand - color: $menu-link-light - &:active - background-color: $menu-logo-color - cursor: pointer - color: $menu-link-active - span.toctree-expand - color: $menu-link-active - -.wy-side-nav-search - display: block - width: $nav-desktop-width - padding: $gutter / 2 - margin-bottom: $gutter / 2 - z-index: $z-index-popover - background-color: $nav-search-background-color - text-align: center - padding: $gutter / 2 - display: block - color: $nav-search-color - margin-bottom: $gutter / 2 - input[type=text] - width: 100% - border-radius: 50px - padding: 6px 12px - border-color: darken($link-color, 5%) - img - display: block - margin: auto auto $gutter / 2 auto - height: 45px - width: 45px - background-color: $menu-logo-color - padding: 5px - border-radius: 100% - > a, .wy-dropdown > a - color: $nav-search-color - font-size: 100% - font-weight: bold - display: inline-block - padding: $base-line-height / 6 $base-line-height / 4 - margin-bottom: $gutter / 2 - +font-smooth - &:hover - background: rgba(255,255,255,.1) - img.logo - display: block // display on its own line all the time - margin: 0 auto - height: auto // undo badge styling above - width: auto - border-radius: 0 - max-width: 100% // shrink on mobile, if appropriate - background: rgba(0,0,0,0) // make hover background of parent show up properly - &.icon - img.logo - margin-top: 0.85em // space it away from the title text - > div.version - margin-top: -1 * ($gutter / 4) - margin-bottom: $gutter / 2 - font-weight: normal - color: rgba(255,255,255,.3) - - -.wy-nav .wy-menu-vertical - header - color: $link-color - a - color: $text-light - &:hover - background-color: $link-color - color: $white - -[data-menu-wrap] - +transition(all .2s ease-in) - position: absolute - opacity: 1 - width: 100% - opacity: 0 - &.move-center - left: 0 - right: auto - opacity: 1 - &.move-left - right: auto - left: -100% - opacity: 0 - &.move-right - right: -100% - left: auto - opacity: 0 - - -.wy-body-for-nav - background: left repeat-y $section-background-color - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC) - background-size: $nav-desktop-width 1px - -.wy-grid-for-nav - position: absolute - width: 100% - height: 100% - -.wy-nav-side - position: fixed - top: 0 - bottom: 0 - left: 0 - padding-bottom: 2em - width: $nav-desktop-width - overflow-x: hidden - overflow-y: hidden - min-height: 100% - background: $nav-background-color - z-index: $z-index-popover - -.wy-side-scroll - width: $nav-desktop-width + 20px - position: relative - overflow-x: hidden - overflow-y: scroll - height: 100% - -.wy-nav-top - display: none - background: $link-color - color: $white - padding: $gutter / 4 $gutter / 2 - position: relative - line-height: 50px - text-align: center - font-size: 100% - +clearfix - a - color: $white - font-weight: bold - +font-smooth - img - margin-right: $base-line-height / 2 - height: 45px - width: 45px - background-color: $menu-logo-color - padding: 5px - border-radius: 100% - i - font-size: 30px - float: left - cursor: pointer - padding-top: inherit - -.wy-nav-content-wrap - margin-left: $nav-desktop-width - background: $section-background-color - min-height: 100% - -.wy-nav-content - padding: $gutter $gutter * 2 - height: 100% - max-width: 100% - margin: auto - -.wy-body-mask - position: fixed - width: 100% - height: 100% - background: rgba(0,0,0,.2) - display: none - z-index: $z-index-modal - 1 - &.on - display: block -footer - color: $footer-color - p - margin-bottom: $base-line-height / 2 - span.commit code - padding: 0px - font-family: $code-font-family - font-size: 1em - background: none - border: none - color: $footer-color - -.rst-footer-buttons - +clearfix - -.rst-breadcrumbs-buttons - margin-top: 12px - +clearfix - -#search-results - .search li - margin-bottom: $base-line-height - border-bottom: solid 1px $table_border_color - padding-bottom: $base-line-height - .search li:first-child - border-top: solid 1px $table_border_color - padding-top: $base-line-height - .search li a - font-size: 120% - margin-bottom: $base-line-height / 2 - display: inline-block - .context - color: $text-medium - font-size: 90% - - -+media($tablet) - .wy-body-for-nav - background: $section-background-color - .wy-nav-top - display: block - .wy-nav-side - @if $nav-desktop-position == left - left: -$nav-desktop-width - @else - right: -$nav-desktop-width - &.shift - width: 85% - left: 0 - .wy-side-scroll - width: auto - .wy-side-nav-search - width: auto - .wy-menu.wy-menu-vertical - width: auto - .wy-nav-content-wrap - margin-left: 0 - .wy-nav-content - padding: $gutter - &.shift - position: fixed - min-width: 100% - left: 85% - top: 0 - height: 100% - overflow: hidden - -+media($desktop-wider) - .wy-nav-content-wrap - background: rgba(0,0,0,.05) - .wy-nav-content - margin: 0 - background: $section-background-color - -@media print - .rst-versions, footer, .wy-nav-side - display: none - .wy-nav-content-wrap - margin-left: 0 diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_mathjax.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_mathjax.sass deleted file mode 100644 index 1004993..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_mathjax.sass +++ /dev/null @@ -1,5 +0,0 @@ -span[id*='MathJax-Span'] - color: $mathjax-color - -.math - text-align: center diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_rst.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_rst.sass deleted file mode 100644 index 123ba59..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_rst.sass +++ /dev/null @@ -1,322 +0,0 @@ -// ------------------------------------------------------------------------------------------------------------------- -// CONTRIBUTORS, PLEASE READ THIS! -// ------------------------------------------------------------------------------------------------------------------- -// Couple things... -// 1. Lots of this @extends from wyrm_core/_type.sass (http://www.github.com/snide/wyrm/. -// * Try not to replace any @extends code. It's pretty generic stuff meant to work together. -// * That said, know that I'm very unlikely to accept PRs from wyrm just to change style here. -// 2. I plan to remove the !importants in here. Part of it is due to lazyness, part to sphinx's fondness for nesting. -// 3. Try to use variables from wyrm_core/wy_variables.sass. Notable are... -// * $base-line-height // All margins, padding and line-height should use this in .25 increments. -// * $text-color, $text-light, $text-dark...etc -// * $base-font-family, $custom-font-family, $code-font-family -// 4. If you have changes for mobile/tablet, put them at the bottom of the sass file. -// -------------------------------------------------------------------------------------------------------------------- - -.rst-content - // Sphinx by default applies HxW style attributes to images. This fixes that oversite. - img - max-width: 100% - height: auto !important - - .highlight > pre, .linenodiv > pre - line-height: normal - - div.figure - margin-bottom: $base-line-height - p.caption - font-style: italic - - div.figure.align-center - text-align: center - - // Usually it's a good idea to give images some space. - .section > img, .section > a > img - margin-bottom: $base-line-height - // Questionable whether this is nice or not. It styles eternal links, but comes with some baggage. - // a.reference.external:after - // font-family: FontAwesome - // content: " \f08e " - // color: $text-light - // vertical-align: super - // font-size: 60% - - // For the most part, its safe to assume that sphinx wants you to use a blockquote as an indent. It gets - // used in many different ways, so don't assume you can apply some fancy style, just leave it be. - blockquote - margin-left: $base-line-height - line-height: $base-line-height - margin-bottom: $base-line-height - .literal-block, pre.literal-block - @extend .codeblock - // These are the various note pullouts that sphinx applies - .note, .attention, .caution, .danger, .error, .hint, .important, .tip, .warning, .seealso, .admonition-todo - @extend .wy-alert - .last - margin-bottom: 0 - .admonition-title - @extend .wy-alert-title - @extend .fa - @extend .fa-exclamation-circle - &:before - margin-right: 4px - .note, .seealso - @extend .wy-alert.wy-alert-info - .hint, .tip, .important - @extend .wy-alert.wy-alert-success - .error, .danger - @extend .wy-alert.wy-alert-danger - .warning, .caution, .attention, .admonition-todo - @extend .wy-alert.wy-alert-warning - // Some people put tables in notes. Let's give them very basic support. - .admonition table - border-color: rgba(0,0,0,.1) - td, th - background: transparent !important - border-color: rgba(0,0,0,.1) !important - .section ul, .toctree-wrapper ul - @extend .wy-plain-list-disc - .section ol.loweralpha, .section ol.loweralpha li - list-style: lower-alpha - .section ol.upperalpha, .section ol.upperalpha li - list-style: upper-alpha - .section ol, ol.arabic - @extend .wy-plain-list-decimal - .section ol p, .section ul p - margin-bottom: $base-line-height / 2 - .line-block - margin-left: $base-line-height - - // Generics handling of headings and toc stuff. - .topic-title - font-weight: bold - margin-bottom: $base-line-height / 2 - .toc-backref - color: $text-color - .align-right - float: right - margin: 0px 0px $base-line-height $base-line-height - .align-left - float: left - margin: 0px $base-line-height $base-line-height 0px - .align-center - margin: auto - display: block - .toctree-wrapper p.caption - @extend h2 - - // This is the #href that shows up on hover. Sphinx's is terrible so I hack it away. - h1, h2, h3, h4, h5, h6, dl dt, p.caption - .headerlink - display: none - visibility: hidden - font-size: 14px - @extend .fa - &:after - visibility: visible - content: "\f0c1" - font-family: FontAwesome - display: inline-block - &:hover .headerlink - display: inline-block - - // Sidebar content. You'll see at the bottom of this file I change it in mobile. - .sidebar - float: right - width: 40% - display: block - margin: 0 0 $base-line-height $base-line-height - padding: $base-line-height - background: $sidebar-background-color - border: solid 1px $sidebar-border-color - // Sidebar content is usually less relevant, so adjust the margins and sizes. - p, ul, dl - font-size: 90% - .last - margin-bottom: 0 - .sidebar-title - display: block - font-family: $custom-font-family - font-weight: bold - background: $table-border-color - padding: $base-line-height / 4 $base-line-height / 2 - margin: -$base-line-height - margin-bottom: $base-line-height - font-size: 100% - // Sphinx can highlight searched text with ?highlighted=searchterm - .highlighted - background: $highlight-color - display: inline-block - font-weight: bold - padding: 0 $base-line-height / 4 - - // These are the little citation links [1] that show up within paragraphs. - .footnote-reference, .citation-reference - vertical-align: super - font-size: 90% - - // Tables! Sphinx LOVES TABLES. Most of wyrm assumes you're only going to use a table as a table - // so I have to write a bunch of unique stuff for Sphinx to style them up differently like it's 2003. - table.docutils.citation, table.docutils.footnote - background: none - border: none - color: $gray-light - td, tr - border: none - background-color: transparent !important - white-space: normal - td.label - padding-left: 0 - padding-right: 0 - vertical-align: top - code - color: $gray - table.docutils - @extend .wy-table - @extend .wy-table-bordered-all - &:not(.field-list) - @extend .wy-table-striped - // This table is what gets spit out for auto-generated API stuff. I style it smaller bits of padding. - table.field-list - @extend .wy-table - border: none - td - border: none - padding-top: 5px - td > strong - display: inline-block - margin-top: 3px - .field-name - padding-right: 10px - text-align: left - white-space: nowrap - .field-body - text-align: left - padding-left: 0 - - // These are the "literals" that get spit out when you mark stuff as ``code`` as your write. - tt, code - @extend code - color: $black - padding: 2px 5px - big, em - font-size: 100% !important - line-height: normal - - &.literal - color: $text-code-color - &.xref, a & - font-weight: bold - color: $text-codexref-color - // If the literal is inside an a tag, let's color it like a link - a tt, a code - color: $link-color - dl - margin-bottom: $base-line-height - dt - font-weight: bold - // Most of the content within these dls are one liners, so I halve the normal margins. - p, table, ul, ol - margin-bottom: $base-line-height / 2 !important - // rST seems to want dds to be treated as the browser would, indented. - dd - margin: 0 0 $base-line-height / 2 $base-line-height - // This is what Sphinx spits out for it's autodocs. Depending upon what language the person is referencing - // these things usually have a class of "method" or "class" or something similar, but really who knows. - // Sphinx doesn't give me a generic class on these, so unfortunately I have to apply it to the root dl. - // This makes me terribly unhappy and makes this code very nesty. Unfortunately I've seen hand-written docs - // that output similar, but not quite the same nesting so this is really the best we can do. - dl:not(.docutils) - margin-bottom: $base-line-height - // This would be the equivilant of a .. class:: - dt - display: table - margin: $base-line-height / 4 0 - font-size: 90% - line-height: normal - background: lighten($class-color, 50%) - color: $class-color - border-top: solid 3px lighten($class-color, 20%) - padding: $base-line-height / 4 - position: relative - &:before - color: lighten($class-color, 20%) - .headerlink - color: $text-color - font-size: 100% !important - // And this would be the .. method:: - dl dt - margin-bottom: $base-line-height / 4 - border: none - border-left: solid 3px hsl(0,0%,80%) - background: hsl(0,0%,94%) - color: $method-color - .headerlink - color: $headerlink-color - font-size: 100% !important - dt:first-child - margin-top: 0 - // Since dts get the callout style, we treat this less as callouts. - tt, code - font-weight: bold - &.descname, &.descclassname - background-color: transparent - border: none - padding: 0 - font-size: 100% !important - &.descname - font-weight: bold - // This is for more advanced parameter control - .optional - display: inline-block - padding: 0 4px - color: $black - font-weight: bold - .property - display: inline-block - padding-right: 8px - // Doc links to sourcecode - .viewcode-link, .viewcode-back - display: inline-block - color: $text-viewcode-color - font-size: 80% - padding-left: $base-line-height - .viewcode-back - display: block - float: right - p.rubric - margin-bottom: 12px - font-weight: bold - //Download link - code.download - background: inherit - padding: inherit - font-weight: normal - font-family: inherit - font-size: inherit - color: inherit - border: inherit - white-space: inherit - span:first-child - -webkit-font-smoothing: subpixel-antialiased - @extend .fa - @extend .fa-download - &:before - margin-right: 4px - .guilabel - border: 1px solid lighten($guilabel-color, 25%) - background: lighten($guilabel-color, 50%) - font-size: 80% - font-weight: 700 - border-radius: $base-line-height / 6 - padding: $base-line-height / 10 $base-line-height / 4 - margin: auto $base-line-height / 12 - .versionmodified - font-style: italic - - -// Mobile specific -+media($mobile) - .rst-content - .sidebar - width: 100% diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_variables.sass b/docs-src/_theme/sphinx_rtd_theme/sass/_theme_variables.sass deleted file mode 100644 index 61212d2..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/_theme_variables.sass +++ /dev/null @@ -1,62 +0,0 @@ -// In here are varibles used for sphinx_rtd_theme, they either add to or overwrite the default ones -// that are set in wyrm_core/wy_variables.sass. You'll find wyrm in bower_components if you're looking -// for a reference. - -$font-awesome-dir: "../fonts/" -$static-img: "../img/" -$mathjax-color: $text-color - -$headerlink-color: $text-color - -// Code colors -$text-viewcode-color: $green -$text-codexref-color: $text-color - -// Definition list colors -$class-color: $blue -$method-color: $gray - -// GUI label color -$guilabel-color: $blue - -// Footer colors -$footer-color: $gray-light - -// Menu colors -$menu-vertical-background-color: $section-background-color - -// Menu text colors -$menu-color: $gray -$menu-dark: lighten($menu-color,15%) !default -$menu-medium: lighten($menu-color,25%) !default -$menu-light: lighten($menu-color,45%) !default -$menu-lighter: lighten($menu-color,60%) !default - -// Menu link colors -$menu-link-color: $text-color -$menu-link-dark: $text-dark -$menu-link-medium: $text-medium -$menu-link-light: $text-light -$menu-link-active: $white - -// Navigation colors -$nav-background-color: $menu-background-color -$nav-search-background-color: $blue -$nav-search-color: $section-background-color -$nav-link-color: $blue -$nav-link-color-visited: $purple -$nav-link-color-hover: lighten($nav-link-color, 6%) !default -$nav-link-color-alt: hsl(33, 100%, 51%) - -// Sidebar colors -$sidebar-background-color: $table-stripe-color -$sidebar-border-color: $table-border-color -$sidebar-title-background-color: $table-border-color - -// Sphinx highlight color -$highlight-color: $yellow - -$base-font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif -$custom-font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif -$custom-font-family2: Georgia, serif -$code-font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/badge_only.css b/docs-src/_theme/sphinx_rtd_theme/sass/badge_only.css deleted file mode 100644 index 01eeec1..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/badge_only.css +++ /dev/null @@ -1,61 +0,0 @@ -/* -Error: File to import not found or unreadable: wyrm_core/wy_variables. - on line 9 of badge_only.sass - -4: // This generates the RTD sticky badge for non RTD themes. As -5: // always, only files labeled "theme_*.sass should be edited". -6: // ------------------------------------------------------------ -7: $border-box-sizing: false !default -8: -9: @import wyrm_core/wy_variables -10: @import theme_variables -11: @import bourbon -12: @import neat -13: @import wyrm_core/mixin -14: @import wyrm_core/grid_settings - -Backtrace: -badge_only.sass:9 -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:67:in `rescue in import' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:45:in `import' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:28:in `imported_file' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:37:in `css_import?' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:313:in `visit_import' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:160:in `block in visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/stack.rb:79:in `block in with_base' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/stack.rb:115:in `with_frame' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/stack.rb:79:in `with_base' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:160:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:52:in `block in visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:52:in `map' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:52:in `visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:169:in `block in visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:181:in `with_environment' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:168:in `visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36:in `block in visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:188:in `visit_root' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:159:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:8:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/root_node.rb:36:in `css_tree' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/root_node.rb:29:in `render_with_sourcemap' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/engine.rb:381:in `_render_with_sourcemap' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/engine.rb:298:in `render_with_sourcemap' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:492:in `update_stylesheet' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:209:in `each' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:209:in `update_stylesheets' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin.rb:82:in `update_stylesheets' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/sass_scss.rb:340:in `watch_or_update' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/sass_scss.rb:51:in `process_result' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/base.rb:52:in `parse' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/base.rb:19:in `parse!' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/bin/sass:13:in `' -/usr/local/bin/sass:23:in `load' -/usr/local/bin/sass:23:in `
' -*/ -body:before { - white-space: pre; - font-family: monospace; - content: "Error: File to import not found or unreadable: wyrm_core/wy_variables.\A on line 9 of badge_only.sass\A \A 4: // This generates the RTD sticky badge for non RTD themes. As\A 5: // always, only files labeled \"theme_*.sass should be edited\".\A 6: // ------------------------------------------------------------\A 7: $border-box-sizing: false !default\A 8: \A 9: @import wyrm_core/wy_variables\A 10: @import theme_variables\A 11: @import bourbon\A 12: @import neat\A 13: @import wyrm_core/mixin\A 14: @import wyrm_core/grid_settings"; } diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/badge_only.sass b/docs-src/_theme/sphinx_rtd_theme/sass/badge_only.sass deleted file mode 100644 index b8cdac3..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/badge_only.sass +++ /dev/null @@ -1,16 +0,0 @@ -// ------------------------------------------------------------ -// CONTRIBUTORS, PLEASE READ THIS! -// ------------------------------------------------------------ -// This generates the RTD sticky badge for non RTD themes. As -// always, only files labeled "theme_*.sass should be edited". -// ------------------------------------------------------------ -$border-box-sizing: false !default - -@import wyrm_core/wy_variables -@import theme_variables -@import bourbon -@import neat -@import wyrm_core/mixin -@import wyrm_core/grid_settings -@import _theme_badge_fa -@import _theme_badge diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/theme.css b/docs-src/_theme/sphinx_rtd_theme/sass/theme.css deleted file mode 100644 index d5062b4..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/theme.css +++ /dev/null @@ -1,61 +0,0 @@ -/* -Error: File to import not found or unreadable: wyrm_core/wy_variables. - on line 10 of theme.sass - -5: // things you should edit are the sass files that start with -6: // "theme_*.sass". All other files are loaded through bower. -7: // ------------------------------------------------------------ -8: -9: // Variable defaults set by Wyrm -10: @import wyrm_core/wy_variables -11: -12: // Variable overrides that change coloring and fonts for this theme. -13: @import theme_variables -14: -15: // bourbon.io framework - -Backtrace: -theme.sass:10 -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:67:in `rescue in import' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:45:in `import' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:28:in `imported_file' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb:37:in `css_import?' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:313:in `visit_import' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:160:in `block in visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/stack.rb:79:in `block in with_base' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/stack.rb:115:in `with_frame' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/stack.rb:79:in `with_base' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:160:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:52:in `block in visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:52:in `map' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:52:in `visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:169:in `block in visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:181:in `with_environment' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:168:in `visit_children' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36:in `block in visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:188:in `visit_root' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:159:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:8:in `visit' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/root_node.rb:36:in `css_tree' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/tree/root_node.rb:29:in `render_with_sourcemap' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/engine.rb:381:in `_render_with_sourcemap' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/engine.rb:298:in `render_with_sourcemap' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:492:in `update_stylesheet' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:209:in `each' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin/compiler.rb:209:in `update_stylesheets' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/plugin.rb:82:in `update_stylesheets' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/sass_scss.rb:340:in `watch_or_update' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/sass_scss.rb:51:in `process_result' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/base.rb:52:in `parse' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/lib/sass/exec/base.rb:19:in `parse!' -/usr/local/lib/ruby/gems/2.2.0/gems/sass-3.4.22/bin/sass:13:in `' -/usr/local/bin/sass:23:in `load' -/usr/local/bin/sass:23:in `
' -*/ -body:before { - white-space: pre; - font-family: monospace; - content: "Error: File to import not found or unreadable: wyrm_core/wy_variables.\A on line 10 of theme.sass\A \A 5: // things you should edit are the sass files that start with\A 6: // \"theme_*.sass\". All other files are loaded through bower.\A 7: // ------------------------------------------------------------\A 8: \A 9: // Variable defaults set by Wyrm\A 10: @import wyrm_core/wy_variables\A 11: \A 12: // Variable overrides that change coloring and fonts for this theme.\A 13: @import theme_variables\A 14: \A 15: // bourbon.io framework"; } diff --git a/docs-src/_theme/sphinx_rtd_theme/sass/theme.sass b/docs-src/_theme/sphinx_rtd_theme/sass/theme.sass deleted file mode 100644 index c7322b7..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sass/theme.sass +++ /dev/null @@ -1,54 +0,0 @@ -// ------------------------------------------------------------ -// CONTRIBUTORS, PLEASE READ THIS! -// ------------------------------------------------------------ -// This theme pulls from other frontend projects. The only -// things you should edit are the sass files that start with -// "theme_*.sass". All other files are loaded through bower. -// ------------------------------------------------------------ - -// Variable defaults set by Wyrm -@import wyrm_core/wy_variables - -// Variable overrides that change coloring and fonts for this theme. -@import theme_variables - -// bourbon.io framework -@import bourbon - -// Bourbon.io/neat framework, with some default media queries -@import wyrm_core/grid_settings -@import neat -// Some corrections for neat -@import wyrm_core/neat_extra - -// Custom reset -@import wyrm_core/reset - -// Wyrm mixins -@import wyrm_core/mixin - -// Font Awesome 4.0 with wyrm extras -@import font-awesome -@import wyrm_core/font_icon_defaults - -// Wyrm core styles used in this theme -@import wyrm_core/alert -@import wyrm_core/button -@import wyrm_core/dropdown -@import wyrm_core/form -@import wyrm_core/generic -@import wyrm_core/table -@import wyrm_core/type - -// Pygments styling -@import wyrm_addons/pygments/pygments -@import wyrm_addons/pygments/pygments_light - -// Theme specific styles. These are likely the files you want to edit. -@import theme_breadcrumbs -@import theme_layout -@import theme_badge -@import theme_rst -@import theme_mathjax -@import theme_font_awesome_compatibility -@import theme_font_local diff --git a/docs-src/_theme/sphinx_rtd_theme/setup.cfg b/docs-src/_theme/sphinx_rtd_theme/setup.cfg deleted file mode 100644 index 2a9acf1..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[bdist_wheel] -universal = 1 diff --git a/docs-src/_theme/sphinx_rtd_theme/setup.py b/docs-src/_theme/sphinx_rtd_theme/setup.py deleted file mode 100644 index 79da29e..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/setup.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -"""`sphinx_rtd_theme` lives on `Github`_. - -.. _github: https://www.github.com/snide/sphinx_rtd_theme - -""" -from setuptools import setup -from sphinx_rtd_theme import __version__ - - -setup( - name='sphinx_rtd_theme', - version=__version__, - url='https://github.com/rtfd/sphinx_rtd_theme/', - license='MIT', - author='Dave Snider', - author_email='dave.snider@gmail.com', - description='Read the Docs theme for Sphinx', - zip_safe=False, - packages=['sphinx_rtd_theme'], - package_data={'sphinx_rtd_theme': [ - 'theme.conf', - '*.html', - 'static/css/*.css', - 'static/js/*.js', - 'static/font/*.*' - ]}, - include_package_data=True, - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'License :: OSI Approved :: MIT License', - 'Environment :: Console', - 'Environment :: Web Environment', - 'Intended Audience :: Developers', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Operating System :: OS Independent', - 'Topic :: Documentation', - 'Topic :: Software Development :: Documentation', - ], -) diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/__init__.py b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/__init__.py deleted file mode 100644 index ad08a7f..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Sphinx ReadTheDocs theme. - -From https://github.com/ryan-roemer/sphinx-bootstrap-theme. - -""" -import os - -__version__ = '0.2.4' -__version_full__ = __version__ - - -def get_html_theme_path(): - """Return list of HTML theme paths.""" - cur_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) - return cur_dir diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/breadcrumbs.html b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/breadcrumbs.html deleted file mode 100644 index 486905c..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/breadcrumbs.html +++ /dev/null @@ -1,82 +0,0 @@ -{# Support for Sphinx 1.3+ page_source_suffix, but don't break old builds. #} - -{% if page_source_suffix %} -{% set suffix = page_source_suffix %} -{% else %} -{% set suffix = source_suffix %} -{% endif %} - -{% if meta is defined and meta is not none %} -{% set check_meta = True %} -{% else %} -{% set check_meta = False %} -{% endif %} - -{% if check_meta and 'github_url' in meta %} -{% set display_github = True %} -{% endif %} - -{% if check_meta and 'bitbucket_url' in meta %} -{% set display_bitbucket = True %} -{% endif %} - -{% if check_meta and 'gitlab_url' in meta %} -{% set display_gitlab = True %} -{% endif %} - -
- - - - {% if (theme_prev_next_buttons_location == 'top' or theme_prev_next_buttons_location == 'both') and (next or prev) %} - - {% endif %} -
-
diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/footer.html b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/footer.html deleted file mode 100644 index 9975c8d..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/footer.html +++ /dev/null @@ -1,52 +0,0 @@ -
- {% if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %} - - {% endif %} - -
- -
-

- {%- if show_copyright %} - {%- if hasdoc('copyright') %} - {% trans path=pathto('copyright'), copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} - {%- else %} - {% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} - {%- endif %} - {%- endif %} - - {%- if build_id and build_url %} - {% trans build_url=build_url, build_id=build_id %} - - Build - {{ build_id }}. - - {% endtrans %} - {%- elif commit %} - {% trans commit=commit %} - - Revision {{ commit }}. - - {% endtrans %} - {%- elif last_updated %} - {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %} - {%- endif %} - -

-
- - {%- if show_sphinx %} - {% trans %}Built with Sphinx using a theme provided by Read the Docs{% endtrans %}. - {%- endif %} - - {%- block extrafooter %} {% endblock %} - -
- diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/layout.html b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/layout.html deleted file mode 100644 index 1ea856c..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/layout.html +++ /dev/null @@ -1,212 +0,0 @@ -{# TEMPLATE VAR SETTINGS #} -{%- set url_root = pathto('', 1) %} -{%- if url_root == '#' %}{% set url_root = '' %}{% endif %} -{%- if not embedded and docstitle %} - {%- set titlesuffix = " — "|safe + docstitle|e %} -{%- else %} - {%- set titlesuffix = "" %} -{%- endif %} - - - - - - - {{ metatags }} - - {% block htmltitle %} - {{ title|striptags|e }}{{ titlesuffix }} - {% endblock %} - - {# FAVICON #} - {% if favicon %} - - {% endif %} - {# CANONICAL URL #} - {% if theme_canonical_url %} - - {% endif %} - - {# CSS #} - - {# OPENSEARCH #} - {% if not embedded %} - {% if use_opensearch %} - - {% endif %} - - {% endif %} - - {# RTD hosts this file, so just load on non RTD builds #} - {% if not READTHEDOCS %} - - {% endif %} - - {% for cssfile in css_files %} - - {% endfor %} - - {% for cssfile in extra_css_files %} - - {% endfor %} - - {%- block linktags %} - {%- if hasdoc('about') %} - - {%- endif %} - {%- if hasdoc('genindex') %} - - {%- endif %} - {%- if hasdoc('search') %} - - {%- endif %} - {%- if hasdoc('copyright') %} - - {%- endif %} - - {%- if parents %} - - {%- endif %} - {%- if next %} - - {%- endif %} - {%- if prev %} - - {%- endif %} - {%- endblock %} - {%- block extrahead %} {% endblock %} - - {# Keep modernizr in head - http://modernizr.com/docs/#installing #} - - - - - - {% block extrabody %} {% endblock %} -
- - {# SIDE NAV, TOGGLES ON MOBILE #} - - -
- - {# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #} - - - - {# PAGE CONTENT #} -
-
- {% include "breadcrumbs.html" %} -
-
- {% block body %}{% endblock %} -
-
- {% block comments %}{% endblock %} -
-
- {% include "footer.html" %} -
-
- -
- -
- {% include "versions.html" %} - - {% if not embedded %} - - - {%- for scriptfile in script_files %} - - {%- endfor %} - - {% endif %} - - {# RTD hosts this file, so just load on non RTD builds #} - {% if not READTHEDOCS %} - - {% endif %} - - {# STICKY NAVIGATION #} - {% if theme_sticky_navigation %} - - {% endif %} - - {%- block footer %} {% endblock %} - - - diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/layout_old.html b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/layout_old.html deleted file mode 100644 index 9f2d199..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/layout_old.html +++ /dev/null @@ -1,209 +0,0 @@ -{# - basic/layout.html - ~~~~~~~~~~~~~~~~~ - - Master layout template for Sphinx themes. - - :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. - :license: BSD, see LICENSE for details. -#} -{%- block doctype -%} - -{%- endblock %} -{%- set reldelim1 = reldelim1 is not defined and ' »' or reldelim1 %} -{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %} -{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and - (sidebars != []) %} -{%- set url_root = pathto('', 1) %} -{# XXX necessary? #} -{%- if url_root == '#' %}{% set url_root = '' %}{% endif %} -{%- if not embedded and docstitle %} - {%- set titlesuffix = " — "|safe + docstitle|e %} -{%- else %} - {%- set titlesuffix = "" %} -{%- endif %} - -{%- macro relbar() %} - -{%- endmacro %} - -{%- macro sidebar() %} - {%- if render_sidebar %} -
-
- {%- block sidebarlogo %} - {%- if logo %} - - {%- endif %} - {%- endblock %} - {%- if sidebars != None %} - {#- new style sidebar: explicitly include/exclude templates #} - {%- for sidebartemplate in sidebars %} - {%- include sidebartemplate %} - {%- endfor %} - {%- else %} - {#- old style sidebars: using blocks -- should be deprecated #} - {%- block sidebartoc %} - {%- include "localtoc.html" %} - {%- endblock %} - {%- block sidebarrel %} - {%- include "relations.html" %} - {%- endblock %} - {%- block sidebarsourcelink %} - {%- include "sourcelink.html" %} - {%- endblock %} - {%- if customsidebar %} - {%- include customsidebar %} - {%- endif %} - {%- block sidebarsearch %} - {%- include "searchbox.html" %} - {%- endblock %} - {%- endif %} -
-
- {%- endif %} -{%- endmacro %} - -{%- macro script() %} - - {%- for scriptfile in script_files %} - - {%- endfor %} -{%- endmacro %} - -{%- macro css() %} - - - {%- for cssfile in css_files %} - - {%- endfor %} -{%- endmacro %} - - - - - {{ metatags }} - {%- block htmltitle %} - {{ title|striptags|e }}{{ titlesuffix }} - {%- endblock %} - {{ css() }} - {%- if not embedded %} - {{ script() }} - {%- if use_opensearch %} - - {%- endif %} - {%- if favicon %} - - {%- endif %} - {%- if theme_canonical_url %} - - {%- endif %} - {%- endif %} -{%- block linktags %} - {%- if hasdoc('about') %} - - {%- endif %} - {%- if hasdoc('genindex') %} - - {%- endif %} - {%- if hasdoc('search') %} - - {%- endif %} - {%- if hasdoc('copyright') %} - - {%- endif %} - - {%- if parents %} - - {%- endif %} - {%- if next %} - - {%- endif %} - {%- if prev %} - - {%- endif %} -{%- endblock %} -{%- block extrahead %} {% endblock %} - - -{%- block header %}{% endblock %} - -{%- block relbar1 %}{{ relbar() }}{% endblock %} - -{%- block content %} - {%- block sidebar1 %} {# possible location for sidebar #} {% endblock %} - -
- {%- block document %} -
- {%- if render_sidebar %} -
- {%- endif %} -
- {% block body %} {% endblock %} -
- {%- if render_sidebar %} -
- {%- endif %} -
- {%- endblock %} - - {%- block sidebar2 %}{{ sidebar() }}{% endblock %} -
-
-{%- endblock %} - -{%- block relbar2 %}{{ relbar() }}{% endblock %} - -{%- block footer %} - -

asdf asdf asdf asdf 22

-{%- endblock %} - - - diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/search.html b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/search.html deleted file mode 100644 index e3aa9b5..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/search.html +++ /dev/null @@ -1,50 +0,0 @@ -{# - basic/search.html - ~~~~~~~~~~~~~~~~~ - - Template for the search page. - - :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. - :license: BSD, see LICENSE for details. -#} -{%- extends "layout.html" %} -{% set title = _('Search') %} -{% set script_files = script_files + ['_static/searchtools.js'] %} -{% block footer %} - - {# this is used when loading the search index using $.ajax fails, - such as on Chrome for documents on localhost #} - - {{ super() }} -{% endblock %} -{% block body %} - - - {% if search_performed %} -

{{ _('Search Results') }}

- {% if not search_results %} -

{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}

- {% endif %} - {% endif %} -
- {% if search_results %} -
    - {% for href, caption, context in search_results %} -
  • - {{ caption }} -

    {{ context|e }}

    -
  • - {% endfor %} -
- {% endif %} -
-{% endblock %} diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/searchbox.html b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/searchbox.html deleted file mode 100644 index 606f5c8..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/searchbox.html +++ /dev/null @@ -1,9 +0,0 @@ -{%- if builder != 'singlehtml' %} -
-
- - - -
-
-{%- endif %} diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/badge_only.css b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/badge_only.css deleted file mode 100644 index cb09245..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/badge_only.css +++ /dev/null @@ -1,221 +0,0 @@ -@charset "UTF-8"; -.fa:before { - -webkit-font-smoothing: antialiased; -} - -.clearfix { - *zoom: 1; -} -.clearfix:before, .clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} - -@font-face { - font-family: FontAwesome; - font-weight: normal; - font-style: normal; - src: url("../fonts/fontawesome-webfont.eot"); - src: url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype"), url("../fonts/fontawesome-webfont.svg#FontAwesome") format("svg"); -} -.fa:before { - display: inline-block; - font-family: FontAwesome; - font-style: normal; - font-weight: normal; - line-height: 1; - text-decoration: inherit; -} - -a .fa { - display: inline-block; - text-decoration: inherit; -} - -li .fa { - display: inline-block; -} -li .fa-large:before, -li .fa-large:before { - /* 1.5 increased font size for fa-large * 1.25 width */ - width: 1.875em; -} - -ul.fas { - list-style-type: none; - margin-left: 2em; - text-indent: -0.8em; -} -ul.fas li .fa { - width: 0.8em; -} -ul.fas li .fa-large:before, -ul.fas li .fa-large:before { - /* 1.5 increased font size for fa-large * 1.25 width */ - vertical-align: baseline; -} - -.fa-book:before { - content: ""; -} - -.icon-book:before { - content: ""; -} - -.fa-caret-down:before { - content: ""; -} - -.icon-caret-down:before { - content: ""; -} - -.fa-caret-up:before { - content: ""; -} - -.icon-caret-up:before { - content: ""; -} - -.fa-caret-left:before { - content: ""; -} - -.icon-caret-left:before { - content: ""; -} - -.fa-caret-right:before { - content: ""; -} - -.icon-caret-right:before { - content: ""; -} - -.rst-versions { - position: fixed; - bottom: 0; - left: 0; - width: 300px; - color: #fcfcfc; - background: #1f1d1d; - border-top: solid 10px #343131; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - z-index: 400; -} -.rst-versions a { - color: #2980B9; - text-decoration: none; -} -.rst-versions .rst-badge-small { - display: none; -} -.rst-versions .rst-current-version { - padding: 12px; - background-color: #272525; - display: block; - text-align: right; - font-size: 90%; - cursor: pointer; - color: #27AE60; - *zoom: 1; -} -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { - display: table; - content: ""; -} -.rst-versions .rst-current-version:after { - clear: both; -} -.rst-versions .rst-current-version .fa { - color: #fcfcfc; -} -.rst-versions .rst-current-version .fa-book { - float: left; -} -.rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version.rst-out-of-date { - background-color: #E74C3C; - color: #fff; -} -.rst-versions .rst-current-version.rst-active-old-version { - background-color: #F1C40F; - color: #000; -} -.rst-versions.shift-up .rst-other-versions { - display: block; -} -.rst-versions .rst-other-versions { - font-size: 90%; - padding: 12px; - color: gray; - display: none; -} -.rst-versions .rst-other-versions hr { - display: block; - height: 1px; - border: 0; - margin: 20px 0; - padding: 0; - border-top: solid 1px #413d3d; -} -.rst-versions .rst-other-versions dd { - display: inline-block; - margin: 0; -} -.rst-versions .rst-other-versions dd a { - display: inline-block; - padding: 6px; - color: #fcfcfc; -} -.rst-versions.rst-badge { - width: auto; - bottom: 20px; - right: 20px; - left: auto; - border: none; - max-width: 300px; -} -.rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge .fa-book { - float: none; -} -.rst-versions.rst-badge.shift-up .rst-current-version { - text-align: right; -} -.rst-versions.rst-badge.shift-up .rst-current-version .fa-book { - float: left; -} -.rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge .rst-current-version { - width: auto; - height: 30px; - line-height: 30px; - padding: 0 6px; - display: block; - text-align: center; -} - -@media screen and (max-width: 768px) { - .rst-versions { - width: 85%; - display: none; - } - .rst-versions.shift { - display: block; - } -} - -/*# sourceMappingURL=badge_only.css.map */ diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/badge_only.css.map b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/badge_only.css.map deleted file mode 100644 index 05bb674..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/badge_only.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/bourbon/dist/css3/_font-face.scss","../../../sass/_theme_badge_fa.sass","../../../sass/_theme_badge.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss"], -"names": [], -"file": "badge_only.css" -} diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/theme.css b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/theme.css deleted file mode 100644 index 3e8c32b..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/theme.css +++ /dev/null @@ -1,6025 +0,0 @@ -@charset "UTF-8"; -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { - display: block; -} - -audio, canvas, video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -audio:not([controls]) { - display: none; -} - -[hidden] { - display: none; -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -a:hover, a:active { - outline: 0; -} - -abbr[title] { - border-bottom: 1px dotted; -} - -b, strong { - font-weight: bold; -} - -blockquote { - margin: 0; -} - -dfn { - font-style: italic; -} - -ins { - background: #ff9; - color: #000; - text-decoration: none; -} - -mark { - background: #ff0; - color: #000; - font-style: italic; - font-weight: bold; -} - -pre, code, .rst-content tt, .rst-content code, kbd, samp { - font-family: monospace, serif; - _font-family: "courier new", monospace; - font-size: 1em; -} - -pre { - white-space: pre; -} - -q { - quotes: none; -} - -q:before, q:after { - content: ""; - content: none; -} - -small { - font-size: 85%; -} - -sub, sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -ul, ol, dl { - margin: 0; - padding: 0; - list-style: none; - list-style-image: none; -} - -li { - list-style: none; -} - -dd { - margin: 0; -} - -img { - border: 0; - -ms-interpolation-mode: bicubic; - vertical-align: middle; - max-width: 100%; -} - -svg:not(:root) { - overflow: hidden; -} - -figure { - margin: 0; -} - -form { - margin: 0; -} - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -label { - cursor: pointer; -} - -legend { - border: 0; - *margin-left: -7px; - padding: 0; - white-space: normal; -} - -button, input, select, textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; -} - -button, input { - line-height: normal; -} - -button, input[type="button"], input[type="reset"], input[type="submit"] { - cursor: pointer; - -webkit-appearance: button; - *overflow: visible; -} - -button[disabled], input[disabled] { - cursor: default; -} - -input[type="checkbox"], input[type="radio"] { - box-sizing: border-box; - padding: 0; - *width: 13px; - *height: 13px; -} - -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; -} - -textarea { - overflow: auto; - vertical-align: top; - resize: vertical; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td { - vertical-align: top; -} - -.chromeframe { - margin: 0.2em 0; - background: #ccc; - color: black; - padding: 0.2em 0; -} - -.ir { - display: block; - border: 0; - text-indent: -999em; - overflow: hidden; - background-color: transparent; - background-repeat: no-repeat; - text-align: left; - direction: ltr; - *line-height: 0; -} - -.ir br { - display: none; -} - -.hidden { - display: none !important; - visibility: hidden; -} - -.visuallyhidden { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} - -.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; -} - -.invisible { - visibility: hidden; -} - -.relative { - position: relative; -} - -big, small { - font-size: 100%; -} - -@media print { - html, body, section { - background: none !important; - } - - * { - box-shadow: none !important; - text-shadow: none !important; - filter: none !important; - -ms-filter: none !important; - } - - a, a:visited { - text-decoration: underline; - } - - .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { - content: ""; - } - - pre, blockquote { - page-break-inside: avoid; - } - - thead { - display: table-header-group; - } - - tr, img { - page-break-inside: avoid; - } - - img { - max-width: 100% !important; - } - - @page { - margin: 0.5cm; - } - p, h2, .rst-content .toctree-wrapper p.caption, h3 { - orphans: 3; - widows: 3; - } - - h2, .rst-content .toctree-wrapper p.caption, h3 { - page-break-after: avoid; - } -} -.fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo, .btn, input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .wy-menu-vertical li.on a, .wy-menu-vertical li.current > a, .wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a, .wy-nav-top a { - -webkit-font-smoothing: antialiased; -} - -.clearfix { - *zoom: 1; -} -.clearfix:before, .clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} - -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url("../fonts/fontawesome-webfont.eot?v=4.7.0"); - src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg"); - font-weight: normal; - font-style: normal; -} -.fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -15%; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-fw { - width: 1.28571em; - text-align: center; -} - -.fa-ul { - padding-left: 0; - margin-left: 2.14286em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - position: absolute; - left: -2.14286em; - width: 2.14286em; - top: 0.14286em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714em; -} - -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eee; - border-radius: .1em; -} - -.fa-pull-left { - float: left; -} - -.fa-pull-right { - float: right; -} - -.fa.fa-pull-left, .wy-menu-vertical li span.fa-pull-left.toctree-expand, .wy-menu-vertical li.on a span.fa-pull-left.toctree-expand, .wy-menu-vertical li.current > a span.fa-pull-left.toctree-expand, .rst-content .fa-pull-left.admonition-title, .rst-content h1 .fa-pull-left.headerlink, .rst-content h2 .fa-pull-left.headerlink, .rst-content h3 .fa-pull-left.headerlink, .rst-content h4 .fa-pull-left.headerlink, .rst-content h5 .fa-pull-left.headerlink, .rst-content h6 .fa-pull-left.headerlink, .rst-content dl dt .fa-pull-left.headerlink, .rst-content p.caption .fa-pull-left.headerlink, .rst-content tt.download span.fa-pull-left:first-child, .rst-content code.download span.fa-pull-left:first-child, .fa-pull-left.icon { - margin-right: .3em; -} -.fa.fa-pull-right, .wy-menu-vertical li span.fa-pull-right.toctree-expand, .wy-menu-vertical li.on a span.fa-pull-right.toctree-expand, .wy-menu-vertical li.current > a span.fa-pull-right.toctree-expand, .rst-content .fa-pull-right.admonition-title, .rst-content h1 .fa-pull-right.headerlink, .rst-content h2 .fa-pull-right.headerlink, .rst-content h3 .fa-pull-right.headerlink, .rst-content h4 .fa-pull-right.headerlink, .rst-content h5 .fa-pull-right.headerlink, .rst-content h6 .fa-pull-right.headerlink, .rst-content dl dt .fa-pull-right.headerlink, .rst-content p.caption .fa-pull-right.headerlink, .rst-content tt.download span.fa-pull-right:first-child, .rst-content code.download span.fa-pull-right:first-child, .fa-pull-right.icon { - margin-left: .3em; -} - -/* Deprecated as of 4.4.0 */ -.pull-right { - float: right; -} - -.pull-left { - float: left; -} - -.fa.pull-left, .wy-menu-vertical li span.pull-left.toctree-expand, .wy-menu-vertical li.on a span.pull-left.toctree-expand, .wy-menu-vertical li.current > a span.pull-left.toctree-expand, .rst-content .pull-left.admonition-title, .rst-content h1 .pull-left.headerlink, .rst-content h2 .pull-left.headerlink, .rst-content h3 .pull-left.headerlink, .rst-content h4 .pull-left.headerlink, .rst-content h5 .pull-left.headerlink, .rst-content h6 .pull-left.headerlink, .rst-content dl dt .pull-left.headerlink, .rst-content p.caption .pull-left.headerlink, .rst-content tt.download span.pull-left:first-child, .rst-content code.download span.pull-left:first-child, .pull-left.icon { - margin-right: .3em; -} -.fa.pull-right, .wy-menu-vertical li span.pull-right.toctree-expand, .wy-menu-vertical li.on a span.pull-right.toctree-expand, .wy-menu-vertical li.current > a span.pull-right.toctree-expand, .rst-content .pull-right.admonition-title, .rst-content h1 .pull-right.headerlink, .rst-content h2 .pull-right.headerlink, .rst-content h3 .pull-right.headerlink, .rst-content h4 .pull-right.headerlink, .rst-content h5 .pull-right.headerlink, .rst-content h6 .pull-right.headerlink, .rst-content dl dt .pull-right.headerlink, .rst-content p.caption .pull-right.headerlink, .rst-content tt.download span.pull-right:first-child, .rst-content code.download span.pull-right:first-child, .pull-right.icon { - margin-left: .3em; -} - -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} - -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); -} - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} - -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} - -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} - -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} - -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} - -.fa-stack-1x, .fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} - -.fa-stack-1x { - line-height: inherit; -} - -.fa-stack-2x { - font-size: 2em; -} - -.fa-inverse { - color: #fff; -} - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: ""; -} - -.fa-music:before { - content: ""; -} - -.fa-search:before, .icon-search:before { - content: ""; -} - -.fa-envelope-o:before { - content: ""; -} - -.fa-heart:before { - content: ""; -} - -.fa-star:before { - content: ""; -} - -.fa-star-o:before { - content: ""; -} - -.fa-user:before { - content: ""; -} - -.fa-film:before { - content: ""; -} - -.fa-th-large:before { - content: ""; -} - -.fa-th:before { - content: ""; -} - -.fa-th-list:before { - content: ""; -} - -.fa-check:before { - content: ""; -} - -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: ""; -} - -.fa-search-plus:before { - content: ""; -} - -.fa-search-minus:before { - content: ""; -} - -.fa-power-off:before { - content: ""; -} - -.fa-signal:before { - content: ""; -} - -.fa-gear:before, -.fa-cog:before { - content: ""; -} - -.fa-trash-o:before { - content: ""; -} - -.fa-home:before, .icon-home:before { - content: ""; -} - -.fa-file-o:before { - content: ""; -} - -.fa-clock-o:before { - content: ""; -} - -.fa-road:before { - content: ""; -} - -.fa-download:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { - content: ""; -} - -.fa-arrow-circle-o-down:before { - content: ""; -} - -.fa-arrow-circle-o-up:before { - content: ""; -} - -.fa-inbox:before { - content: ""; -} - -.fa-play-circle-o:before { - content: ""; -} - -.fa-rotate-right:before, -.fa-repeat:before { - content: ""; -} - -.fa-refresh:before { - content: ""; -} - -.fa-list-alt:before { - content: ""; -} - -.fa-lock:before { - content: ""; -} - -.fa-flag:before { - content: ""; -} - -.fa-headphones:before { - content: ""; -} - -.fa-volume-off:before { - content: ""; -} - -.fa-volume-down:before { - content: ""; -} - -.fa-volume-up:before { - content: ""; -} - -.fa-qrcode:before { - content: ""; -} - -.fa-barcode:before { - content: ""; -} - -.fa-tag:before { - content: ""; -} - -.fa-tags:before { - content: ""; -} - -.fa-book:before, .icon-book:before { - content: ""; -} - -.fa-bookmark:before { - content: ""; -} - -.fa-print:before { - content: ""; -} - -.fa-camera:before { - content: ""; -} - -.fa-font:before { - content: ""; -} - -.fa-bold:before { - content: ""; -} - -.fa-italic:before { - content: ""; -} - -.fa-text-height:before { - content: ""; -} - -.fa-text-width:before { - content: ""; -} - -.fa-align-left:before { - content: ""; -} - -.fa-align-center:before { - content: ""; -} - -.fa-align-right:before { - content: ""; -} - -.fa-align-justify:before { - content: ""; -} - -.fa-list:before { - content: ""; -} - -.fa-dedent:before, -.fa-outdent:before { - content: ""; -} - -.fa-indent:before { - content: ""; -} - -.fa-video-camera:before { - content: ""; -} - -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: ""; -} - -.fa-pencil:before { - content: ""; -} - -.fa-map-marker:before { - content: ""; -} - -.fa-adjust:before { - content: ""; -} - -.fa-tint:before { - content: ""; -} - -.fa-edit:before, -.fa-pencil-square-o:before { - content: ""; -} - -.fa-share-square-o:before { - content: ""; -} - -.fa-check-square-o:before { - content: ""; -} - -.fa-arrows:before { - content: ""; -} - -.fa-step-backward:before { - content: ""; -} - -.fa-fast-backward:before { - content: ""; -} - -.fa-backward:before { - content: ""; -} - -.fa-play:before { - content: ""; -} - -.fa-pause:before { - content: ""; -} - -.fa-stop:before { - content: ""; -} - -.fa-forward:before { - content: ""; -} - -.fa-fast-forward:before { - content: ""; -} - -.fa-step-forward:before { - content: ""; -} - -.fa-eject:before { - content: ""; -} - -.fa-chevron-left:before { - content: ""; -} - -.fa-chevron-right:before { - content: ""; -} - -.fa-plus-circle:before { - content: ""; -} - -.fa-minus-circle:before { - content: ""; -} - -.fa-times-circle:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before { - content: ""; -} - -.fa-check-circle:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before { - content: ""; -} - -.fa-question-circle:before { - content: ""; -} - -.fa-info-circle:before { - content: ""; -} - -.fa-crosshairs:before { - content: ""; -} - -.fa-times-circle-o:before { - content: ""; -} - -.fa-check-circle-o:before { - content: ""; -} - -.fa-ban:before { - content: ""; -} - -.fa-arrow-left:before { - content: ""; -} - -.fa-arrow-right:before { - content: ""; -} - -.fa-arrow-up:before { - content: ""; -} - -.fa-arrow-down:before { - content: ""; -} - -.fa-mail-forward:before, -.fa-share:before { - content: ""; -} - -.fa-expand:before { - content: ""; -} - -.fa-compress:before { - content: ""; -} - -.fa-plus:before { - content: ""; -} - -.fa-minus:before { - content: ""; -} - -.fa-asterisk:before { - content: ""; -} - -.fa-exclamation-circle:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .rst-content .admonition-title:before { - content: ""; -} - -.fa-gift:before { - content: ""; -} - -.fa-leaf:before { - content: ""; -} - -.fa-fire:before, .icon-fire:before { - content: ""; -} - -.fa-eye:before { - content: ""; -} - -.fa-eye-slash:before { - content: ""; -} - -.fa-warning:before, -.fa-exclamation-triangle:before { - content: ""; -} - -.fa-plane:before { - content: ""; -} - -.fa-calendar:before { - content: ""; -} - -.fa-random:before { - content: ""; -} - -.fa-comment:before { - content: ""; -} - -.fa-magnet:before { - content: ""; -} - -.fa-chevron-up:before { - content: ""; -} - -.fa-chevron-down:before { - content: ""; -} - -.fa-retweet:before { - content: ""; -} - -.fa-shopping-cart:before { - content: ""; -} - -.fa-folder:before { - content: ""; -} - -.fa-folder-open:before { - content: ""; -} - -.fa-arrows-v:before { - content: ""; -} - -.fa-arrows-h:before { - content: ""; -} - -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: ""; -} - -.fa-twitter-square:before { - content: ""; -} - -.fa-facebook-square:before { - content: ""; -} - -.fa-camera-retro:before { - content: ""; -} - -.fa-key:before { - content: ""; -} - -.fa-gears:before, -.fa-cogs:before { - content: ""; -} - -.fa-comments:before { - content: ""; -} - -.fa-thumbs-o-up:before { - content: ""; -} - -.fa-thumbs-o-down:before { - content: ""; -} - -.fa-star-half:before { - content: ""; -} - -.fa-heart-o:before { - content: ""; -} - -.fa-sign-out:before { - content: ""; -} - -.fa-linkedin-square:before { - content: ""; -} - -.fa-thumb-tack:before { - content: ""; -} - -.fa-external-link:before { - content: ""; -} - -.fa-sign-in:before { - content: ""; -} - -.fa-trophy:before { - content: ""; -} - -.fa-github-square:before { - content: ""; -} - -.fa-upload:before { - content: ""; -} - -.fa-lemon-o:before { - content: ""; -} - -.fa-phone:before { - content: ""; -} - -.fa-square-o:before { - content: ""; -} - -.fa-bookmark-o:before { - content: ""; -} - -.fa-phone-square:before { - content: ""; -} - -.fa-twitter:before { - content: ""; -} - -.fa-facebook-f:before, -.fa-facebook:before { - content: ""; -} - -.fa-github:before, .icon-github:before { - content: ""; -} - -.fa-unlock:before { - content: ""; -} - -.fa-credit-card:before { - content: ""; -} - -.fa-feed:before, -.fa-rss:before { - content: ""; -} - -.fa-hdd-o:before { - content: ""; -} - -.fa-bullhorn:before { - content: ""; -} - -.fa-bell:before { - content: ""; -} - -.fa-certificate:before { - content: ""; -} - -.fa-hand-o-right:before { - content: ""; -} - -.fa-hand-o-left:before { - content: ""; -} - -.fa-hand-o-up:before { - content: ""; -} - -.fa-hand-o-down:before { - content: ""; -} - -.fa-arrow-circle-left:before, .icon-circle-arrow-left:before { - content: ""; -} - -.fa-arrow-circle-right:before, .icon-circle-arrow-right:before { - content: ""; -} - -.fa-arrow-circle-up:before { - content: ""; -} - -.fa-arrow-circle-down:before { - content: ""; -} - -.fa-globe:before { - content: ""; -} - -.fa-wrench:before { - content: ""; -} - -.fa-tasks:before { - content: ""; -} - -.fa-filter:before { - content: ""; -} - -.fa-briefcase:before { - content: ""; -} - -.fa-arrows-alt:before { - content: ""; -} - -.fa-group:before, -.fa-users:before { - content: ""; -} - -.fa-chain:before, -.fa-link:before, -.icon-link:before { - content: ""; -} - -.fa-cloud:before { - content: ""; -} - -.fa-flask:before { - content: ""; -} - -.fa-cut:before, -.fa-scissors:before { - content: ""; -} - -.fa-copy:before, -.fa-files-o:before { - content: ""; -} - -.fa-paperclip:before { - content: ""; -} - -.fa-save:before, -.fa-floppy-o:before { - content: ""; -} - -.fa-square:before { - content: ""; -} - -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: ""; -} - -.fa-list-ul:before { - content: ""; -} - -.fa-list-ol:before { - content: ""; -} - -.fa-strikethrough:before { - content: ""; -} - -.fa-underline:before { - content: ""; -} - -.fa-table:before { - content: ""; -} - -.fa-magic:before { - content: ""; -} - -.fa-truck:before { - content: ""; -} - -.fa-pinterest:before { - content: ""; -} - -.fa-pinterest-square:before { - content: ""; -} - -.fa-google-plus-square:before { - content: ""; -} - -.fa-google-plus:before { - content: ""; -} - -.fa-money:before { - content: ""; -} - -.fa-caret-down:before, .wy-dropdown .caret:before, .icon-caret-down:before { - content: ""; -} - -.fa-caret-up:before { - content: ""; -} - -.fa-caret-left:before { - content: ""; -} - -.fa-caret-right:before { - content: ""; -} - -.fa-columns:before { - content: ""; -} - -.fa-unsorted:before, -.fa-sort:before { - content: ""; -} - -.fa-sort-down:before, -.fa-sort-desc:before { - content: ""; -} - -.fa-sort-up:before, -.fa-sort-asc:before { - content: ""; -} - -.fa-envelope:before { - content: ""; -} - -.fa-linkedin:before { - content: ""; -} - -.fa-rotate-left:before, -.fa-undo:before { - content: ""; -} - -.fa-legal:before, -.fa-gavel:before { - content: ""; -} - -.fa-dashboard:before, -.fa-tachometer:before { - content: ""; -} - -.fa-comment-o:before { - content: ""; -} - -.fa-comments-o:before { - content: ""; -} - -.fa-flash:before, -.fa-bolt:before { - content: ""; -} - -.fa-sitemap:before { - content: ""; -} - -.fa-umbrella:before { - content: ""; -} - -.fa-paste:before, -.fa-clipboard:before { - content: ""; -} - -.fa-lightbulb-o:before { - content: ""; -} - -.fa-exchange:before { - content: ""; -} - -.fa-cloud-download:before { - content: ""; -} - -.fa-cloud-upload:before { - content: ""; -} - -.fa-user-md:before { - content: ""; -} - -.fa-stethoscope:before { - content: ""; -} - -.fa-suitcase:before { - content: ""; -} - -.fa-bell-o:before { - content: ""; -} - -.fa-coffee:before { - content: ""; -} - -.fa-cutlery:before { - content: ""; -} - -.fa-file-text-o:before { - content: ""; -} - -.fa-building-o:before { - content: ""; -} - -.fa-hospital-o:before { - content: ""; -} - -.fa-ambulance:before { - content: ""; -} - -.fa-medkit:before { - content: ""; -} - -.fa-fighter-jet:before { - content: ""; -} - -.fa-beer:before { - content: ""; -} - -.fa-h-square:before { - content: ""; -} - -.fa-plus-square:before { - content: ""; -} - -.fa-angle-double-left:before { - content: ""; -} - -.fa-angle-double-right:before { - content: ""; -} - -.fa-angle-double-up:before { - content: ""; -} - -.fa-angle-double-down:before { - content: ""; -} - -.fa-angle-left:before { - content: ""; -} - -.fa-angle-right:before { - content: ""; -} - -.fa-angle-up:before { - content: ""; -} - -.fa-angle-down:before { - content: ""; -} - -.fa-desktop:before { - content: ""; -} - -.fa-laptop:before { - content: ""; -} - -.fa-tablet:before { - content: ""; -} - -.fa-mobile-phone:before, -.fa-mobile:before { - content: ""; -} - -.fa-circle-o:before { - content: ""; -} - -.fa-quote-left:before { - content: ""; -} - -.fa-quote-right:before { - content: ""; -} - -.fa-spinner:before { - content: ""; -} - -.fa-circle:before { - content: ""; -} - -.fa-mail-reply:before, -.fa-reply:before { - content: ""; -} - -.fa-github-alt:before { - content: ""; -} - -.fa-folder-o:before { - content: ""; -} - -.fa-folder-open-o:before { - content: ""; -} - -.fa-smile-o:before { - content: ""; -} - -.fa-frown-o:before { - content: ""; -} - -.fa-meh-o:before { - content: ""; -} - -.fa-gamepad:before { - content: ""; -} - -.fa-keyboard-o:before { - content: ""; -} - -.fa-flag-o:before { - content: ""; -} - -.fa-flag-checkered:before { - content: ""; -} - -.fa-terminal:before { - content: ""; -} - -.fa-code:before { - content: ""; -} - -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: ""; -} - -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: ""; -} - -.fa-location-arrow:before { - content: ""; -} - -.fa-crop:before { - content: ""; -} - -.fa-code-fork:before { - content: ""; -} - -.fa-unlink:before, -.fa-chain-broken:before { - content: ""; -} - -.fa-question:before { - content: ""; -} - -.fa-info:before { - content: ""; -} - -.fa-exclamation:before { - content: ""; -} - -.fa-superscript:before { - content: ""; -} - -.fa-subscript:before { - content: ""; -} - -.fa-eraser:before { - content: ""; -} - -.fa-puzzle-piece:before { - content: ""; -} - -.fa-microphone:before { - content: ""; -} - -.fa-microphone-slash:before { - content: ""; -} - -.fa-shield:before { - content: ""; -} - -.fa-calendar-o:before { - content: ""; -} - -.fa-fire-extinguisher:before { - content: ""; -} - -.fa-rocket:before { - content: ""; -} - -.fa-maxcdn:before { - content: ""; -} - -.fa-chevron-circle-left:before { - content: ""; -} - -.fa-chevron-circle-right:before { - content: ""; -} - -.fa-chevron-circle-up:before { - content: ""; -} - -.fa-chevron-circle-down:before { - content: ""; -} - -.fa-html5:before { - content: ""; -} - -.fa-css3:before { - content: ""; -} - -.fa-anchor:before { - content: ""; -} - -.fa-unlock-alt:before { - content: ""; -} - -.fa-bullseye:before { - content: ""; -} - -.fa-ellipsis-h:before { - content: ""; -} - -.fa-ellipsis-v:before { - content: ""; -} - -.fa-rss-square:before { - content: ""; -} - -.fa-play-circle:before { - content: ""; -} - -.fa-ticket:before { - content: ""; -} - -.fa-minus-square:before { - content: ""; -} - -.fa-minus-square-o:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before { - content: ""; -} - -.fa-level-up:before { - content: ""; -} - -.fa-level-down:before { - content: ""; -} - -.fa-check-square:before { - content: ""; -} - -.fa-pencil-square:before { - content: ""; -} - -.fa-external-link-square:before { - content: ""; -} - -.fa-share-square:before { - content: ""; -} - -.fa-compass:before { - content: ""; -} - -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: ""; -} - -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: ""; -} - -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: ""; -} - -.fa-euro:before, -.fa-eur:before { - content: ""; -} - -.fa-gbp:before { - content: ""; -} - -.fa-dollar:before, -.fa-usd:before { - content: ""; -} - -.fa-rupee:before, -.fa-inr:before { - content: ""; -} - -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: ""; -} - -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: ""; -} - -.fa-won:before, -.fa-krw:before { - content: ""; -} - -.fa-bitcoin:before, -.fa-btc:before { - content: ""; -} - -.fa-file:before { - content: ""; -} - -.fa-file-text:before { - content: ""; -} - -.fa-sort-alpha-asc:before { - content: ""; -} - -.fa-sort-alpha-desc:before { - content: ""; -} - -.fa-sort-amount-asc:before { - content: ""; -} - -.fa-sort-amount-desc:before { - content: ""; -} - -.fa-sort-numeric-asc:before { - content: ""; -} - -.fa-sort-numeric-desc:before { - content: ""; -} - -.fa-thumbs-up:before { - content: ""; -} - -.fa-thumbs-down:before { - content: ""; -} - -.fa-youtube-square:before { - content: ""; -} - -.fa-youtube:before { - content: ""; -} - -.fa-xing:before { - content: ""; -} - -.fa-xing-square:before { - content: ""; -} - -.fa-youtube-play:before { - content: ""; -} - -.fa-dropbox:before { - content: ""; -} - -.fa-stack-overflow:before { - content: ""; -} - -.fa-instagram:before { - content: ""; -} - -.fa-flickr:before { - content: ""; -} - -.fa-adn:before { - content: ""; -} - -.fa-bitbucket:before, .icon-bitbucket:before { - content: ""; -} - -.fa-bitbucket-square:before { - content: ""; -} - -.fa-tumblr:before { - content: ""; -} - -.fa-tumblr-square:before { - content: ""; -} - -.fa-long-arrow-down:before { - content: ""; -} - -.fa-long-arrow-up:before { - content: ""; -} - -.fa-long-arrow-left:before { - content: ""; -} - -.fa-long-arrow-right:before { - content: ""; -} - -.fa-apple:before { - content: ""; -} - -.fa-windows:before { - content: ""; -} - -.fa-android:before { - content: ""; -} - -.fa-linux:before { - content: ""; -} - -.fa-dribbble:before { - content: ""; -} - -.fa-skype:before { - content: ""; -} - -.fa-foursquare:before { - content: ""; -} - -.fa-trello:before { - content: ""; -} - -.fa-female:before { - content: ""; -} - -.fa-male:before { - content: ""; -} - -.fa-gittip:before, -.fa-gratipay:before { - content: ""; -} - -.fa-sun-o:before { - content: ""; -} - -.fa-moon-o:before { - content: ""; -} - -.fa-archive:before { - content: ""; -} - -.fa-bug:before { - content: ""; -} - -.fa-vk:before { - content: ""; -} - -.fa-weibo:before { - content: ""; -} - -.fa-renren:before { - content: ""; -} - -.fa-pagelines:before { - content: ""; -} - -.fa-stack-exchange:before { - content: ""; -} - -.fa-arrow-circle-o-right:before { - content: ""; -} - -.fa-arrow-circle-o-left:before { - content: ""; -} - -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: ""; -} - -.fa-dot-circle-o:before { - content: ""; -} - -.fa-wheelchair:before { - content: ""; -} - -.fa-vimeo-square:before { - content: ""; -} - -.fa-turkish-lira:before, -.fa-try:before { - content: ""; -} - -.fa-plus-square-o:before, .wy-menu-vertical li span.toctree-expand:before { - content: ""; -} - -.fa-space-shuttle:before { - content: ""; -} - -.fa-slack:before { - content: ""; -} - -.fa-envelope-square:before { - content: ""; -} - -.fa-wordpress:before { - content: ""; -} - -.fa-openid:before { - content: ""; -} - -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: ""; -} - -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: ""; -} - -.fa-yahoo:before { - content: ""; -} - -.fa-google:before { - content: ""; -} - -.fa-reddit:before { - content: ""; -} - -.fa-reddit-square:before { - content: ""; -} - -.fa-stumbleupon-circle:before { - content: ""; -} - -.fa-stumbleupon:before { - content: ""; -} - -.fa-delicious:before { - content: ""; -} - -.fa-digg:before { - content: ""; -} - -.fa-pied-piper-pp:before { - content: ""; -} - -.fa-pied-piper-alt:before { - content: ""; -} - -.fa-drupal:before { - content: ""; -} - -.fa-joomla:before { - content: ""; -} - -.fa-language:before { - content: ""; -} - -.fa-fax:before { - content: ""; -} - -.fa-building:before { - content: ""; -} - -.fa-child:before { - content: ""; -} - -.fa-paw:before { - content: ""; -} - -.fa-spoon:before { - content: ""; -} - -.fa-cube:before { - content: ""; -} - -.fa-cubes:before { - content: ""; -} - -.fa-behance:before { - content: ""; -} - -.fa-behance-square:before { - content: ""; -} - -.fa-steam:before { - content: ""; -} - -.fa-steam-square:before { - content: ""; -} - -.fa-recycle:before { - content: ""; -} - -.fa-automobile:before, -.fa-car:before { - content: ""; -} - -.fa-cab:before, -.fa-taxi:before { - content: ""; -} - -.fa-tree:before { - content: ""; -} - -.fa-spotify:before { - content: ""; -} - -.fa-deviantart:before { - content: ""; -} - -.fa-soundcloud:before { - content: ""; -} - -.fa-database:before { - content: ""; -} - -.fa-file-pdf-o:before { - content: ""; -} - -.fa-file-word-o:before { - content: ""; -} - -.fa-file-excel-o:before { - content: ""; -} - -.fa-file-powerpoint-o:before { - content: ""; -} - -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: ""; -} - -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: ""; -} - -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: ""; -} - -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: ""; -} - -.fa-file-code-o:before { - content: ""; -} - -.fa-vine:before { - content: ""; -} - -.fa-codepen:before { - content: ""; -} - -.fa-jsfiddle:before { - content: ""; -} - -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: ""; -} - -.fa-circle-o-notch:before { - content: ""; -} - -.fa-ra:before, -.fa-resistance:before, -.fa-rebel:before { - content: ""; -} - -.fa-ge:before, -.fa-empire:before { - content: ""; -} - -.fa-git-square:before { - content: ""; -} - -.fa-git:before { - content: ""; -} - -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: ""; -} - -.fa-tencent-weibo:before { - content: ""; -} - -.fa-qq:before { - content: ""; -} - -.fa-wechat:before, -.fa-weixin:before { - content: ""; -} - -.fa-send:before, -.fa-paper-plane:before { - content: ""; -} - -.fa-send-o:before, -.fa-paper-plane-o:before { - content: ""; -} - -.fa-history:before { - content: ""; -} - -.fa-circle-thin:before { - content: ""; -} - -.fa-header:before { - content: ""; -} - -.fa-paragraph:before { - content: ""; -} - -.fa-sliders:before { - content: ""; -} - -.fa-share-alt:before { - content: ""; -} - -.fa-share-alt-square:before { - content: ""; -} - -.fa-bomb:before { - content: ""; -} - -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: ""; -} - -.fa-tty:before { - content: ""; -} - -.fa-binoculars:before { - content: ""; -} - -.fa-plug:before { - content: ""; -} - -.fa-slideshare:before { - content: ""; -} - -.fa-twitch:before { - content: ""; -} - -.fa-yelp:before { - content: ""; -} - -.fa-newspaper-o:before { - content: ""; -} - -.fa-wifi:before { - content: ""; -} - -.fa-calculator:before { - content: ""; -} - -.fa-paypal:before { - content: ""; -} - -.fa-google-wallet:before { - content: ""; -} - -.fa-cc-visa:before { - content: ""; -} - -.fa-cc-mastercard:before { - content: ""; -} - -.fa-cc-discover:before { - content: ""; -} - -.fa-cc-amex:before { - content: ""; -} - -.fa-cc-paypal:before { - content: ""; -} - -.fa-cc-stripe:before { - content: ""; -} - -.fa-bell-slash:before { - content: ""; -} - -.fa-bell-slash-o:before { - content: ""; -} - -.fa-trash:before { - content: ""; -} - -.fa-copyright:before { - content: ""; -} - -.fa-at:before { - content: ""; -} - -.fa-eyedropper:before { - content: ""; -} - -.fa-paint-brush:before { - content: ""; -} - -.fa-birthday-cake:before { - content: ""; -} - -.fa-area-chart:before { - content: ""; -} - -.fa-pie-chart:before { - content: ""; -} - -.fa-line-chart:before { - content: ""; -} - -.fa-lastfm:before { - content: ""; -} - -.fa-lastfm-square:before { - content: ""; -} - -.fa-toggle-off:before { - content: ""; -} - -.fa-toggle-on:before { - content: ""; -} - -.fa-bicycle:before { - content: ""; -} - -.fa-bus:before { - content: ""; -} - -.fa-ioxhost:before { - content: ""; -} - -.fa-angellist:before { - content: ""; -} - -.fa-cc:before { - content: ""; -} - -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: ""; -} - -.fa-meanpath:before { - content: ""; -} - -.fa-buysellads:before { - content: ""; -} - -.fa-connectdevelop:before { - content: ""; -} - -.fa-dashcube:before { - content: ""; -} - -.fa-forumbee:before { - content: ""; -} - -.fa-leanpub:before { - content: ""; -} - -.fa-sellsy:before { - content: ""; -} - -.fa-shirtsinbulk:before { - content: ""; -} - -.fa-simplybuilt:before { - content: ""; -} - -.fa-skyatlas:before { - content: ""; -} - -.fa-cart-plus:before { - content: ""; -} - -.fa-cart-arrow-down:before { - content: ""; -} - -.fa-diamond:before { - content: ""; -} - -.fa-ship:before { - content: ""; -} - -.fa-user-secret:before { - content: ""; -} - -.fa-motorcycle:before { - content: ""; -} - -.fa-street-view:before { - content: ""; -} - -.fa-heartbeat:before { - content: ""; -} - -.fa-venus:before { - content: ""; -} - -.fa-mars:before { - content: ""; -} - -.fa-mercury:before { - content: ""; -} - -.fa-intersex:before, -.fa-transgender:before { - content: ""; -} - -.fa-transgender-alt:before { - content: ""; -} - -.fa-venus-double:before { - content: ""; -} - -.fa-mars-double:before { - content: ""; -} - -.fa-venus-mars:before { - content: ""; -} - -.fa-mars-stroke:before { - content: ""; -} - -.fa-mars-stroke-v:before { - content: ""; -} - -.fa-mars-stroke-h:before { - content: ""; -} - -.fa-neuter:before { - content: ""; -} - -.fa-genderless:before { - content: ""; -} - -.fa-facebook-official:before { - content: ""; -} - -.fa-pinterest-p:before { - content: ""; -} - -.fa-whatsapp:before { - content: ""; -} - -.fa-server:before { - content: ""; -} - -.fa-user-plus:before { - content: ""; -} - -.fa-user-times:before { - content: ""; -} - -.fa-hotel:before, -.fa-bed:before { - content: ""; -} - -.fa-viacoin:before { - content: ""; -} - -.fa-train:before { - content: ""; -} - -.fa-subway:before { - content: ""; -} - -.fa-medium:before { - content: ""; -} - -.fa-yc:before, -.fa-y-combinator:before { - content: ""; -} - -.fa-optin-monster:before { - content: ""; -} - -.fa-opencart:before { - content: ""; -} - -.fa-expeditedssl:before { - content: ""; -} - -.fa-battery-4:before, -.fa-battery:before, -.fa-battery-full:before { - content: ""; -} - -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: ""; -} - -.fa-battery-2:before, -.fa-battery-half:before { - content: ""; -} - -.fa-battery-1:before, -.fa-battery-quarter:before { - content: ""; -} - -.fa-battery-0:before, -.fa-battery-empty:before { - content: ""; -} - -.fa-mouse-pointer:before { - content: ""; -} - -.fa-i-cursor:before { - content: ""; -} - -.fa-object-group:before { - content: ""; -} - -.fa-object-ungroup:before { - content: ""; -} - -.fa-sticky-note:before { - content: ""; -} - -.fa-sticky-note-o:before { - content: ""; -} - -.fa-cc-jcb:before { - content: ""; -} - -.fa-cc-diners-club:before { - content: ""; -} - -.fa-clone:before { - content: ""; -} - -.fa-balance-scale:before { - content: ""; -} - -.fa-hourglass-o:before { - content: ""; -} - -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: ""; -} - -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: ""; -} - -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: ""; -} - -.fa-hourglass:before { - content: ""; -} - -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: ""; -} - -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: ""; -} - -.fa-hand-scissors-o:before { - content: ""; -} - -.fa-hand-lizard-o:before { - content: ""; -} - -.fa-hand-spock-o:before { - content: ""; -} - -.fa-hand-pointer-o:before { - content: ""; -} - -.fa-hand-peace-o:before { - content: ""; -} - -.fa-trademark:before { - content: ""; -} - -.fa-registered:before { - content: ""; -} - -.fa-creative-commons:before { - content: ""; -} - -.fa-gg:before { - content: ""; -} - -.fa-gg-circle:before { - content: ""; -} - -.fa-tripadvisor:before { - content: ""; -} - -.fa-odnoklassniki:before { - content: ""; -} - -.fa-odnoklassniki-square:before { - content: ""; -} - -.fa-get-pocket:before { - content: ""; -} - -.fa-wikipedia-w:before { - content: ""; -} - -.fa-safari:before { - content: ""; -} - -.fa-chrome:before { - content: ""; -} - -.fa-firefox:before { - content: ""; -} - -.fa-opera:before { - content: ""; -} - -.fa-internet-explorer:before { - content: ""; -} - -.fa-tv:before, -.fa-television:before { - content: ""; -} - -.fa-contao:before { - content: ""; -} - -.fa-500px:before { - content: ""; -} - -.fa-amazon:before { - content: ""; -} - -.fa-calendar-plus-o:before { - content: ""; -} - -.fa-calendar-minus-o:before { - content: ""; -} - -.fa-calendar-times-o:before { - content: ""; -} - -.fa-calendar-check-o:before { - content: ""; -} - -.fa-industry:before { - content: ""; -} - -.fa-map-pin:before { - content: ""; -} - -.fa-map-signs:before { - content: ""; -} - -.fa-map-o:before { - content: ""; -} - -.fa-map:before { - content: ""; -} - -.fa-commenting:before { - content: ""; -} - -.fa-commenting-o:before { - content: ""; -} - -.fa-houzz:before { - content: ""; -} - -.fa-vimeo:before { - content: ""; -} - -.fa-black-tie:before { - content: ""; -} - -.fa-fonticons:before { - content: ""; -} - -.fa-reddit-alien:before { - content: ""; -} - -.fa-edge:before { - content: ""; -} - -.fa-credit-card-alt:before { - content: ""; -} - -.fa-codiepie:before { - content: ""; -} - -.fa-modx:before { - content: ""; -} - -.fa-fort-awesome:before { - content: ""; -} - -.fa-usb:before { - content: ""; -} - -.fa-product-hunt:before { - content: ""; -} - -.fa-mixcloud:before { - content: ""; -} - -.fa-scribd:before { - content: ""; -} - -.fa-pause-circle:before { - content: ""; -} - -.fa-pause-circle-o:before { - content: ""; -} - -.fa-stop-circle:before { - content: ""; -} - -.fa-stop-circle-o:before { - content: ""; -} - -.fa-shopping-bag:before { - content: ""; -} - -.fa-shopping-basket:before { - content: ""; -} - -.fa-hashtag:before { - content: ""; -} - -.fa-bluetooth:before { - content: ""; -} - -.fa-bluetooth-b:before { - content: ""; -} - -.fa-percent:before { - content: ""; -} - -.fa-gitlab:before, .icon-gitlab:before { - content: ""; -} - -.fa-wpbeginner:before { - content: ""; -} - -.fa-wpforms:before { - content: ""; -} - -.fa-envira:before { - content: ""; -} - -.fa-universal-access:before { - content: ""; -} - -.fa-wheelchair-alt:before { - content: ""; -} - -.fa-question-circle-o:before { - content: ""; -} - -.fa-blind:before { - content: ""; -} - -.fa-audio-description:before { - content: ""; -} - -.fa-volume-control-phone:before { - content: ""; -} - -.fa-braille:before { - content: ""; -} - -.fa-assistive-listening-systems:before { - content: ""; -} - -.fa-asl-interpreting:before, -.fa-american-sign-language-interpreting:before { - content: ""; -} - -.fa-deafness:before, -.fa-hard-of-hearing:before, -.fa-deaf:before { - content: ""; -} - -.fa-glide:before { - content: ""; -} - -.fa-glide-g:before { - content: ""; -} - -.fa-signing:before, -.fa-sign-language:before { - content: ""; -} - -.fa-low-vision:before { - content: ""; -} - -.fa-viadeo:before { - content: ""; -} - -.fa-viadeo-square:before { - content: ""; -} - -.fa-snapchat:before { - content: ""; -} - -.fa-snapchat-ghost:before { - content: ""; -} - -.fa-snapchat-square:before { - content: ""; -} - -.fa-pied-piper:before { - content: ""; -} - -.fa-first-order:before { - content: ""; -} - -.fa-yoast:before { - content: ""; -} - -.fa-themeisle:before { - content: ""; -} - -.fa-google-plus-circle:before, -.fa-google-plus-official:before { - content: ""; -} - -.fa-fa:before, -.fa-font-awesome:before { - content: ""; -} - -.fa-handshake-o:before { - content: ""; -} - -.fa-envelope-open:before { - content: ""; -} - -.fa-envelope-open-o:before { - content: ""; -} - -.fa-linode:before { - content: ""; -} - -.fa-address-book:before { - content: ""; -} - -.fa-address-book-o:before { - content: ""; -} - -.fa-vcard:before, -.fa-address-card:before { - content: ""; -} - -.fa-vcard-o:before, -.fa-address-card-o:before { - content: ""; -} - -.fa-user-circle:before { - content: ""; -} - -.fa-user-circle-o:before { - content: ""; -} - -.fa-user-o:before { - content: ""; -} - -.fa-id-badge:before { - content: ""; -} - -.fa-drivers-license:before, -.fa-id-card:before { - content: ""; -} - -.fa-drivers-license-o:before, -.fa-id-card-o:before { - content: ""; -} - -.fa-quora:before { - content: ""; -} - -.fa-free-code-camp:before { - content: ""; -} - -.fa-telegram:before { - content: ""; -} - -.fa-thermometer-4:before, -.fa-thermometer:before, -.fa-thermometer-full:before { - content: ""; -} - -.fa-thermometer-3:before, -.fa-thermometer-three-quarters:before { - content: ""; -} - -.fa-thermometer-2:before, -.fa-thermometer-half:before { - content: ""; -} - -.fa-thermometer-1:before, -.fa-thermometer-quarter:before { - content: ""; -} - -.fa-thermometer-0:before, -.fa-thermometer-empty:before { - content: ""; -} - -.fa-shower:before { - content: ""; -} - -.fa-bathtub:before, -.fa-s15:before, -.fa-bath:before { - content: ""; -} - -.fa-podcast:before { - content: ""; -} - -.fa-window-maximize:before { - content: ""; -} - -.fa-window-minimize:before { - content: ""; -} - -.fa-window-restore:before { - content: ""; -} - -.fa-times-rectangle:before, -.fa-window-close:before { - content: ""; -} - -.fa-times-rectangle-o:before, -.fa-window-close-o:before { - content: ""; -} - -.fa-bandcamp:before { - content: ""; -} - -.fa-grav:before { - content: ""; -} - -.fa-etsy:before { - content: ""; -} - -.fa-imdb:before { - content: ""; -} - -.fa-ravelry:before { - content: ""; -} - -.fa-eercast:before { - content: ""; -} - -.fa-microchip:before { - content: ""; -} - -.fa-snowflake-o:before { - content: ""; -} - -.fa-superpowers:before { - content: ""; -} - -.fa-wpexplorer:before { - content: ""; -} - -.fa-meetup:before { - content: ""; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} - -.fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon, .wy-dropdown .caret, .wy-inline-validate.wy-inline-validate-success .wy-input-context, .wy-inline-validate.wy-inline-validate-danger .wy-input-context, .wy-inline-validate.wy-inline-validate-warning .wy-input-context, .wy-inline-validate.wy-inline-validate-info .wy-input-context { - font-family: inherit; -} -.fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before { - font-family: "FontAwesome"; - display: inline-block; - font-style: normal; - font-weight: normal; - line-height: 1; - text-decoration: inherit; -} - -a .fa, a .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li a span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, a .rst-content .admonition-title, .rst-content a .admonition-title, a .rst-content h1 .headerlink, .rst-content h1 a .headerlink, a .rst-content h2 .headerlink, .rst-content h2 a .headerlink, a .rst-content h3 .headerlink, .rst-content h3 a .headerlink, a .rst-content h4 .headerlink, .rst-content h4 a .headerlink, a .rst-content h5 .headerlink, .rst-content h5 a .headerlink, a .rst-content h6 .headerlink, .rst-content h6 a .headerlink, a .rst-content dl dt .headerlink, .rst-content dl dt a .headerlink, a .rst-content p.caption .headerlink, .rst-content p.caption a .headerlink, a .rst-content tt.download span:first-child, .rst-content tt.download a span:first-child, a .rst-content code.download span:first-child, .rst-content code.download a span:first-child, a .icon { - display: inline-block; - text-decoration: inherit; -} - -.btn .fa, .btn .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .btn span.toctree-expand, .btn .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .btn span.toctree-expand, .btn .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .btn span.toctree-expand, .btn .rst-content .admonition-title, .rst-content .btn .admonition-title, .btn .rst-content h1 .headerlink, .rst-content h1 .btn .headerlink, .btn .rst-content h2 .headerlink, .rst-content h2 .btn .headerlink, .btn .rst-content h3 .headerlink, .rst-content h3 .btn .headerlink, .btn .rst-content h4 .headerlink, .rst-content h4 .btn .headerlink, .btn .rst-content h5 .headerlink, .rst-content h5 .btn .headerlink, .btn .rst-content h6 .headerlink, .rst-content h6 .btn .headerlink, .btn .rst-content dl dt .headerlink, .rst-content dl dt .btn .headerlink, .btn .rst-content p.caption .headerlink, .rst-content p.caption .btn .headerlink, .btn .rst-content tt.download span:first-child, .rst-content tt.download .btn span:first-child, .btn .rst-content code.download span:first-child, .rst-content code.download .btn span:first-child, .btn .icon, .nav .fa, .nav .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .nav span.toctree-expand, .nav .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .nav span.toctree-expand, .nav .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .nav span.toctree-expand, .nav .rst-content .admonition-title, .rst-content .nav .admonition-title, .nav .rst-content h1 .headerlink, .rst-content h1 .nav .headerlink, .nav .rst-content h2 .headerlink, .rst-content h2 .nav .headerlink, .nav .rst-content h3 .headerlink, .rst-content h3 .nav .headerlink, .nav .rst-content h4 .headerlink, .rst-content h4 .nav .headerlink, .nav .rst-content h5 .headerlink, .rst-content h5 .nav .headerlink, .nav .rst-content h6 .headerlink, .rst-content h6 .nav .headerlink, .nav .rst-content dl dt .headerlink, .rst-content dl dt .nav .headerlink, .nav .rst-content p.caption .headerlink, .rst-content p.caption .nav .headerlink, .nav .rst-content tt.download span:first-child, .rst-content tt.download .nav span:first-child, .nav .rst-content code.download span:first-child, .rst-content code.download .nav span:first-child, .nav .icon { - display: inline; -} -.btn .fa.fa-large, .btn .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .btn span.fa-large.toctree-expand, .btn .rst-content .fa-large.admonition-title, .rst-content .btn .fa-large.admonition-title, .btn .rst-content h1 .fa-large.headerlink, .rst-content h1 .btn .fa-large.headerlink, .btn .rst-content h2 .fa-large.headerlink, .rst-content h2 .btn .fa-large.headerlink, .btn .rst-content h3 .fa-large.headerlink, .rst-content h3 .btn .fa-large.headerlink, .btn .rst-content h4 .fa-large.headerlink, .rst-content h4 .btn .fa-large.headerlink, .btn .rst-content h5 .fa-large.headerlink, .rst-content h5 .btn .fa-large.headerlink, .btn .rst-content h6 .fa-large.headerlink, .rst-content h6 .btn .fa-large.headerlink, .btn .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .btn .fa-large.headerlink, .btn .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .btn .fa-large.headerlink, .btn .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .btn span.fa-large:first-child, .btn .rst-content code.download span.fa-large:first-child, .rst-content code.download .btn span.fa-large:first-child, .btn .fa-large.icon, .nav .fa.fa-large, .nav .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .nav span.fa-large.toctree-expand, .nav .rst-content .fa-large.admonition-title, .rst-content .nav .fa-large.admonition-title, .nav .rst-content h1 .fa-large.headerlink, .rst-content h1 .nav .fa-large.headerlink, .nav .rst-content h2 .fa-large.headerlink, .rst-content h2 .nav .fa-large.headerlink, .nav .rst-content h3 .fa-large.headerlink, .rst-content h3 .nav .fa-large.headerlink, .nav .rst-content h4 .fa-large.headerlink, .rst-content h4 .nav .fa-large.headerlink, .nav .rst-content h5 .fa-large.headerlink, .rst-content h5 .nav .fa-large.headerlink, .nav .rst-content h6 .fa-large.headerlink, .rst-content h6 .nav .fa-large.headerlink, .nav .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .nav .fa-large.headerlink, .nav .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .nav .fa-large.headerlink, .nav .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .nav span.fa-large:first-child, .nav .rst-content code.download span.fa-large:first-child, .rst-content code.download .nav span.fa-large:first-child, .nav .fa-large.icon { - line-height: 0.9em; -} -.btn .fa.fa-spin, .btn .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .btn span.fa-spin.toctree-expand, .btn .rst-content .fa-spin.admonition-title, .rst-content .btn .fa-spin.admonition-title, .btn .rst-content h1 .fa-spin.headerlink, .rst-content h1 .btn .fa-spin.headerlink, .btn .rst-content h2 .fa-spin.headerlink, .rst-content h2 .btn .fa-spin.headerlink, .btn .rst-content h3 .fa-spin.headerlink, .rst-content h3 .btn .fa-spin.headerlink, .btn .rst-content h4 .fa-spin.headerlink, .rst-content h4 .btn .fa-spin.headerlink, .btn .rst-content h5 .fa-spin.headerlink, .rst-content h5 .btn .fa-spin.headerlink, .btn .rst-content h6 .fa-spin.headerlink, .rst-content h6 .btn .fa-spin.headerlink, .btn .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .btn .fa-spin.headerlink, .btn .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .btn .fa-spin.headerlink, .btn .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .btn span.fa-spin:first-child, .btn .rst-content code.download span.fa-spin:first-child, .rst-content code.download .btn span.fa-spin:first-child, .btn .fa-spin.icon, .nav .fa.fa-spin, .nav .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .nav span.fa-spin.toctree-expand, .nav .rst-content .fa-spin.admonition-title, .rst-content .nav .fa-spin.admonition-title, .nav .rst-content h1 .fa-spin.headerlink, .rst-content h1 .nav .fa-spin.headerlink, .nav .rst-content h2 .fa-spin.headerlink, .rst-content h2 .nav .fa-spin.headerlink, .nav .rst-content h3 .fa-spin.headerlink, .rst-content h3 .nav .fa-spin.headerlink, .nav .rst-content h4 .fa-spin.headerlink, .rst-content h4 .nav .fa-spin.headerlink, .nav .rst-content h5 .fa-spin.headerlink, .rst-content h5 .nav .fa-spin.headerlink, .nav .rst-content h6 .fa-spin.headerlink, .rst-content h6 .nav .fa-spin.headerlink, .nav .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .nav .fa-spin.headerlink, .nav .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .nav .fa-spin.headerlink, .nav .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .nav span.fa-spin:first-child, .nav .rst-content code.download span.fa-spin:first-child, .rst-content code.download .nav span.fa-spin:first-child, .nav .fa-spin.icon { - display: inline-block; -} - -.btn.fa:before, .wy-menu-vertical li span.btn.toctree-expand:before, .rst-content .btn.admonition-title:before, .rst-content h1 .btn.headerlink:before, .rst-content h2 .btn.headerlink:before, .rst-content h3 .btn.headerlink:before, .rst-content h4 .btn.headerlink:before, .rst-content h5 .btn.headerlink:before, .rst-content h6 .btn.headerlink:before, .rst-content dl dt .btn.headerlink:before, .rst-content p.caption .btn.headerlink:before, .rst-content tt.download span.btn:first-child:before, .rst-content code.download span.btn:first-child:before, .btn.icon:before { - opacity: 0.5; - -webkit-transition: opacity 0.05s ease-in; - -moz-transition: opacity 0.05s ease-in; - transition: opacity 0.05s ease-in; -} - -.btn.fa:hover:before, .wy-menu-vertical li span.btn.toctree-expand:hover:before, .rst-content .btn.admonition-title:hover:before, .rst-content h1 .btn.headerlink:hover:before, .rst-content h2 .btn.headerlink:hover:before, .rst-content h3 .btn.headerlink:hover:before, .rst-content h4 .btn.headerlink:hover:before, .rst-content h5 .btn.headerlink:hover:before, .rst-content h6 .btn.headerlink:hover:before, .rst-content dl dt .btn.headerlink:hover:before, .rst-content p.caption .btn.headerlink:hover:before, .rst-content tt.download span.btn:first-child:hover:before, .rst-content code.download span.btn:first-child:hover:before, .btn.icon:hover:before { - opacity: 1; -} - -.btn-mini .fa:before, .btn-mini .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li .btn-mini span.toctree-expand:before, .btn-mini .rst-content .admonition-title:before, .rst-content .btn-mini .admonition-title:before, .btn-mini .rst-content h1 .headerlink:before, .rst-content h1 .btn-mini .headerlink:before, .btn-mini .rst-content h2 .headerlink:before, .rst-content h2 .btn-mini .headerlink:before, .btn-mini .rst-content h3 .headerlink:before, .rst-content h3 .btn-mini .headerlink:before, .btn-mini .rst-content h4 .headerlink:before, .rst-content h4 .btn-mini .headerlink:before, .btn-mini .rst-content h5 .headerlink:before, .rst-content h5 .btn-mini .headerlink:before, .btn-mini .rst-content h6 .headerlink:before, .rst-content h6 .btn-mini .headerlink:before, .btn-mini .rst-content dl dt .headerlink:before, .rst-content dl dt .btn-mini .headerlink:before, .btn-mini .rst-content p.caption .headerlink:before, .rst-content p.caption .btn-mini .headerlink:before, .btn-mini .rst-content tt.download span:first-child:before, .rst-content tt.download .btn-mini span:first-child:before, .btn-mini .rst-content code.download span:first-child:before, .rst-content code.download .btn-mini span:first-child:before, .btn-mini .icon:before { - font-size: 14px; - vertical-align: -15%; -} - -.wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo { - padding: 12px; - line-height: 24px; - margin-bottom: 24px; - background: #e7f2fa; -} - -.wy-alert-title, .rst-content .admonition-title { - color: #fff; - font-weight: bold; - display: block; - color: #fff; - background: #6ab0de; - margin: -12px; - padding: 6px 12px; - margin-bottom: 12px; -} - -.wy-alert.wy-alert-danger, .rst-content .wy-alert-danger.note, .rst-content .wy-alert-danger.attention, .rst-content .wy-alert-danger.caution, .rst-content .danger, .rst-content .error, .rst-content .wy-alert-danger.hint, .rst-content .wy-alert-danger.important, .rst-content .wy-alert-danger.tip, .rst-content .wy-alert-danger.warning, .rst-content .wy-alert-danger.seealso, .rst-content .wy-alert-danger.admonition-todo { - background: #fdf3f2; -} -.wy-alert.wy-alert-danger .wy-alert-title, .rst-content .wy-alert-danger.note .wy-alert-title, .rst-content .wy-alert-danger.attention .wy-alert-title, .rst-content .wy-alert-danger.caution .wy-alert-title, .rst-content .danger .wy-alert-title, .rst-content .error .wy-alert-title, .rst-content .wy-alert-danger.hint .wy-alert-title, .rst-content .wy-alert-danger.important .wy-alert-title, .rst-content .wy-alert-danger.tip .wy-alert-title, .rst-content .wy-alert-danger.warning .wy-alert-title, .rst-content .wy-alert-danger.seealso .wy-alert-title, .rst-content .wy-alert-danger.admonition-todo .wy-alert-title, .wy-alert.wy-alert-danger .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-danger .admonition-title, .rst-content .wy-alert-danger.note .admonition-title, .rst-content .wy-alert-danger.attention .admonition-title, .rst-content .wy-alert-danger.caution .admonition-title, .rst-content .danger .admonition-title, .rst-content .error .admonition-title, .rst-content .wy-alert-danger.hint .admonition-title, .rst-content .wy-alert-danger.important .admonition-title, .rst-content .wy-alert-danger.tip .admonition-title, .rst-content .wy-alert-danger.warning .admonition-title, .rst-content .wy-alert-danger.seealso .admonition-title, .rst-content .wy-alert-danger.admonition-todo .admonition-title { - background: #f29f97; -} - -.wy-alert.wy-alert-warning, .rst-content .wy-alert-warning.note, .rst-content .attention, .rst-content .caution, .rst-content .wy-alert-warning.danger, .rst-content .wy-alert-warning.error, .rst-content .wy-alert-warning.hint, .rst-content .wy-alert-warning.important, .rst-content .wy-alert-warning.tip, .rst-content .warning, .rst-content .wy-alert-warning.seealso, .rst-content .admonition-todo { - background: #ffedcc; -} -.wy-alert.wy-alert-warning .wy-alert-title, .rst-content .wy-alert-warning.note .wy-alert-title, .rst-content .attention .wy-alert-title, .rst-content .caution .wy-alert-title, .rst-content .wy-alert-warning.danger .wy-alert-title, .rst-content .wy-alert-warning.error .wy-alert-title, .rst-content .wy-alert-warning.hint .wy-alert-title, .rst-content .wy-alert-warning.important .wy-alert-title, .rst-content .wy-alert-warning.tip .wy-alert-title, .rst-content .warning .wy-alert-title, .rst-content .wy-alert-warning.seealso .wy-alert-title, .rst-content .admonition-todo .wy-alert-title, .wy-alert.wy-alert-warning .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-warning .admonition-title, .rst-content .wy-alert-warning.note .admonition-title, .rst-content .attention .admonition-title, .rst-content .caution .admonition-title, .rst-content .wy-alert-warning.danger .admonition-title, .rst-content .wy-alert-warning.error .admonition-title, .rst-content .wy-alert-warning.hint .admonition-title, .rst-content .wy-alert-warning.important .admonition-title, .rst-content .wy-alert-warning.tip .admonition-title, .rst-content .warning .admonition-title, .rst-content .wy-alert-warning.seealso .admonition-title, .rst-content .admonition-todo .admonition-title { - background: #f0b37e; -} - -.wy-alert.wy-alert-info, .rst-content .note, .rst-content .wy-alert-info.attention, .rst-content .wy-alert-info.caution, .rst-content .wy-alert-info.danger, .rst-content .wy-alert-info.error, .rst-content .wy-alert-info.hint, .rst-content .wy-alert-info.important, .rst-content .wy-alert-info.tip, .rst-content .wy-alert-info.warning, .rst-content .seealso, .rst-content .wy-alert-info.admonition-todo { - background: #e7f2fa; -} -.wy-alert.wy-alert-info .wy-alert-title, .rst-content .note .wy-alert-title, .rst-content .wy-alert-info.attention .wy-alert-title, .rst-content .wy-alert-info.caution .wy-alert-title, .rst-content .wy-alert-info.danger .wy-alert-title, .rst-content .wy-alert-info.error .wy-alert-title, .rst-content .wy-alert-info.hint .wy-alert-title, .rst-content .wy-alert-info.important .wy-alert-title, .rst-content .wy-alert-info.tip .wy-alert-title, .rst-content .wy-alert-info.warning .wy-alert-title, .rst-content .seealso .wy-alert-title, .rst-content .wy-alert-info.admonition-todo .wy-alert-title, .wy-alert.wy-alert-info .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-info .admonition-title, .rst-content .note .admonition-title, .rst-content .wy-alert-info.attention .admonition-title, .rst-content .wy-alert-info.caution .admonition-title, .rst-content .wy-alert-info.danger .admonition-title, .rst-content .wy-alert-info.error .admonition-title, .rst-content .wy-alert-info.hint .admonition-title, .rst-content .wy-alert-info.important .admonition-title, .rst-content .wy-alert-info.tip .admonition-title, .rst-content .wy-alert-info.warning .admonition-title, .rst-content .seealso .admonition-title, .rst-content .wy-alert-info.admonition-todo .admonition-title { - background: #6ab0de; -} - -.wy-alert.wy-alert-success, .rst-content .wy-alert-success.note, .rst-content .wy-alert-success.attention, .rst-content .wy-alert-success.caution, .rst-content .wy-alert-success.danger, .rst-content .wy-alert-success.error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .wy-alert-success.warning, .rst-content .wy-alert-success.seealso, .rst-content .wy-alert-success.admonition-todo { - background: #dbfaf4; -} -.wy-alert.wy-alert-success .wy-alert-title, .rst-content .wy-alert-success.note .wy-alert-title, .rst-content .wy-alert-success.attention .wy-alert-title, .rst-content .wy-alert-success.caution .wy-alert-title, .rst-content .wy-alert-success.danger .wy-alert-title, .rst-content .wy-alert-success.error .wy-alert-title, .rst-content .hint .wy-alert-title, .rst-content .important .wy-alert-title, .rst-content .tip .wy-alert-title, .rst-content .wy-alert-success.warning .wy-alert-title, .rst-content .wy-alert-success.seealso .wy-alert-title, .rst-content .wy-alert-success.admonition-todo .wy-alert-title, .wy-alert.wy-alert-success .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-success .admonition-title, .rst-content .wy-alert-success.note .admonition-title, .rst-content .wy-alert-success.attention .admonition-title, .rst-content .wy-alert-success.caution .admonition-title, .rst-content .wy-alert-success.danger .admonition-title, .rst-content .wy-alert-success.error .admonition-title, .rst-content .hint .admonition-title, .rst-content .important .admonition-title, .rst-content .tip .admonition-title, .rst-content .wy-alert-success.warning .admonition-title, .rst-content .wy-alert-success.seealso .admonition-title, .rst-content .wy-alert-success.admonition-todo .admonition-title { - background: #1abc9c; -} - -.wy-alert.wy-alert-neutral, .rst-content .wy-alert-neutral.note, .rst-content .wy-alert-neutral.attention, .rst-content .wy-alert-neutral.caution, .rst-content .wy-alert-neutral.danger, .rst-content .wy-alert-neutral.error, .rst-content .wy-alert-neutral.hint, .rst-content .wy-alert-neutral.important, .rst-content .wy-alert-neutral.tip, .rst-content .wy-alert-neutral.warning, .rst-content .wy-alert-neutral.seealso, .rst-content .wy-alert-neutral.admonition-todo { - background: #f3f6f6; -} -.wy-alert.wy-alert-neutral .wy-alert-title, .rst-content .wy-alert-neutral.note .wy-alert-title, .rst-content .wy-alert-neutral.attention .wy-alert-title, .rst-content .wy-alert-neutral.caution .wy-alert-title, .rst-content .wy-alert-neutral.danger .wy-alert-title, .rst-content .wy-alert-neutral.error .wy-alert-title, .rst-content .wy-alert-neutral.hint .wy-alert-title, .rst-content .wy-alert-neutral.important .wy-alert-title, .rst-content .wy-alert-neutral.tip .wy-alert-title, .rst-content .wy-alert-neutral.warning .wy-alert-title, .rst-content .wy-alert-neutral.seealso .wy-alert-title, .rst-content .wy-alert-neutral.admonition-todo .wy-alert-title, .wy-alert.wy-alert-neutral .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-neutral .admonition-title, .rst-content .wy-alert-neutral.note .admonition-title, .rst-content .wy-alert-neutral.attention .admonition-title, .rst-content .wy-alert-neutral.caution .admonition-title, .rst-content .wy-alert-neutral.danger .admonition-title, .rst-content .wy-alert-neutral.error .admonition-title, .rst-content .wy-alert-neutral.hint .admonition-title, .rst-content .wy-alert-neutral.important .admonition-title, .rst-content .wy-alert-neutral.tip .admonition-title, .rst-content .wy-alert-neutral.warning .admonition-title, .rst-content .wy-alert-neutral.seealso .admonition-title, .rst-content .wy-alert-neutral.admonition-todo .admonition-title { - color: #404040; - background: #e1e4e5; -} -.wy-alert.wy-alert-neutral a, .rst-content .wy-alert-neutral.note a, .rst-content .wy-alert-neutral.attention a, .rst-content .wy-alert-neutral.caution a, .rst-content .wy-alert-neutral.danger a, .rst-content .wy-alert-neutral.error a, .rst-content .wy-alert-neutral.hint a, .rst-content .wy-alert-neutral.important a, .rst-content .wy-alert-neutral.tip a, .rst-content .wy-alert-neutral.warning a, .rst-content .wy-alert-neutral.seealso a, .rst-content .wy-alert-neutral.admonition-todo a { - color: #2980B9; -} - -.wy-alert p:last-child, .rst-content .note p:last-child, .rst-content .attention p:last-child, .rst-content .caution p:last-child, .rst-content .danger p:last-child, .rst-content .error p:last-child, .rst-content .hint p:last-child, .rst-content .important p:last-child, .rst-content .tip p:last-child, .rst-content .warning p:last-child, .rst-content .seealso p:last-child, .rst-content .admonition-todo p:last-child { - margin-bottom: 0; -} - -.wy-tray-container { - position: fixed; - bottom: 0px; - left: 0; - z-index: 600; -} -.wy-tray-container li { - display: block; - width: 300px; - background: transparent; - color: #fff; - text-align: center; - box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1); - padding: 0 24px; - min-width: 20%; - opacity: 0; - height: 0; - line-height: 56px; - overflow: hidden; - -webkit-transition: all 0.3s ease-in; - -moz-transition: all 0.3s ease-in; - transition: all 0.3s ease-in; -} -.wy-tray-container li.wy-tray-item-success { - background: #27AE60; -} -.wy-tray-container li.wy-tray-item-info { - background: #2980B9; -} -.wy-tray-container li.wy-tray-item-warning { - background: #E67E22; -} -.wy-tray-container li.wy-tray-item-danger { - background: #E74C3C; -} -.wy-tray-container li.on { - opacity: 1; - height: 56px; -} - -@media screen and (max-width: 768px) { - .wy-tray-container { - bottom: auto; - top: 0; - width: 100%; - } - .wy-tray-container li { - width: 100%; - } -} -button { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; - cursor: pointer; - line-height: normal; - -webkit-appearance: button; - *overflow: visible; -} - -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; -} - -button[disabled] { - cursor: default; -} - -.btn { - /* Structure */ - display: inline-block; - border-radius: 2px; - line-height: normal; - white-space: nowrap; - text-align: center; - cursor: pointer; - font-size: 100%; - padding: 6px 12px 8px 12px; - color: #fff; - border: 1px solid rgba(0, 0, 0, 0.1); - background-color: #27AE60; - text-decoration: none; - font-weight: normal; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - box-shadow: 0px 1px 2px -1px rgba(255, 255, 255, 0.5) inset, 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset; - outline-none: false; - vertical-align: middle; - *display: inline; - zoom: 1; - -webkit-user-drag: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-transition: all 0.1s linear; - -moz-transition: all 0.1s linear; - transition: all 0.1s linear; -} - -.btn-hover { - background: #2e8ece; - color: #fff; -} - -.btn:hover { - background: #2cc36b; - color: #fff; -} -.btn:focus { - background: #2cc36b; - outline: 0; -} -.btn:active { - box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.05) inset, 0px 2px 0px 0px rgba(0, 0, 0, 0.1) inset; - padding: 8px 12px 6px 12px; -} -.btn:visited { - color: #fff; -} -.btn:disabled { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} - -.btn-disabled { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} -.btn-disabled:hover, .btn-disabled:focus, .btn-disabled:active { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} - -.btn::-moz-focus-inner { - padding: 0; - border: 0; -} - -.btn-small { - font-size: 80%; -} - -.btn-info { - background-color: #2980B9 !important; -} -.btn-info:hover { - background-color: #2e8ece !important; -} - -.btn-neutral { - background-color: #f3f6f6 !important; - color: #404040 !important; -} -.btn-neutral:hover { - background-color: #e5ebeb !important; - color: #404040; -} -.btn-neutral:visited { - color: #404040 !important; -} - -.btn-success { - background-color: #27AE60 !important; -} -.btn-success:hover { - background-color: #229955 !important; -} - -.btn-danger { - background-color: #E74C3C !important; -} -.btn-danger:hover { - background-color: #ea6153 !important; -} - -.btn-warning { - background-color: #E67E22 !important; -} -.btn-warning:hover { - background-color: #e98b39 !important; -} - -.btn-invert { - background-color: #222; -} -.btn-invert:hover { - background-color: #2f2f2f !important; -} - -.btn-link { - background-color: transparent !important; - color: #2980B9; - box-shadow: none; - border-color: transparent !important; -} -.btn-link:hover { - background-color: transparent !important; - color: #409ad5 !important; - box-shadow: none; -} -.btn-link:active { - background-color: transparent !important; - color: #409ad5 !important; - box-shadow: none; -} -.btn-link:visited { - color: #9B59B6; -} - -.wy-btn-group .btn, .wy-control .btn { - vertical-align: middle; -} - -.wy-btn-group { - margin-bottom: 24px; - *zoom: 1; -} -.wy-btn-group:before, .wy-btn-group:after { - display: table; - content: ""; -} -.wy-btn-group:after { - clear: both; -} - -.wy-dropdown { - position: relative; - display: inline-block; -} - -.wy-dropdown-active .wy-dropdown-menu { - display: block; -} - -.wy-dropdown-menu { - position: absolute; - left: 0; - display: none; - float: left; - top: 100%; - min-width: 100%; - background: #fcfcfc; - z-index: 100; - border: solid 1px #cfd7dd; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); - padding: 12px; -} -.wy-dropdown-menu > dd > a { - display: block; - clear: both; - color: #404040; - white-space: nowrap; - font-size: 90%; - padding: 0 12px; - cursor: pointer; -} -.wy-dropdown-menu > dd > a:hover { - background: #2980B9; - color: #fff; -} -.wy-dropdown-menu > dd.divider { - border-top: solid 1px #cfd7dd; - margin: 6px 0; -} -.wy-dropdown-menu > dd.search { - padding-bottom: 12px; -} -.wy-dropdown-menu > dd.search input[type="search"] { - width: 100%; -} -.wy-dropdown-menu > dd.call-to-action { - background: #e3e3e3; - text-transform: uppercase; - font-weight: 500; - font-size: 80%; -} -.wy-dropdown-menu > dd.call-to-action:hover { - background: #e3e3e3; -} -.wy-dropdown-menu > dd.call-to-action .btn { - color: #fff; -} - -.wy-dropdown.wy-dropdown-up .wy-dropdown-menu { - bottom: 100%; - top: auto; - left: auto; - right: 0; -} - -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu { - background: #fcfcfc; - margin-top: 2px; -} -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a { - padding: 6px 12px; -} -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { - background: #2980B9; - color: #fff; -} - -.wy-dropdown.wy-dropdown-left .wy-dropdown-menu { - right: 0; - left: auto; - text-align: right; -} - -.wy-dropdown-arrow:before { - content: " "; - border-bottom: 5px solid whitesmoke; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - position: absolute; - display: block; - top: -4px; - left: 50%; - margin-left: -3px; -} -.wy-dropdown-arrow.wy-dropdown-arrow-left:before { - left: 11px; -} - -.wy-form-stacked select { - display: block; -} - -.wy-form-aligned input, .wy-form-aligned textarea, .wy-form-aligned select, .wy-form-aligned .wy-help-inline, .wy-form-aligned label { - display: inline-block; - *display: inline; - *zoom: 1; - vertical-align: middle; -} - -.wy-form-aligned .wy-control-group > label { - display: inline-block; - vertical-align: middle; - width: 10em; - margin: 6px 12px 0 0; - float: left; -} -.wy-form-aligned .wy-control { - float: left; -} -.wy-form-aligned .wy-control label { - display: block; -} -.wy-form-aligned .wy-control select { - margin-top: 6px; -} - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -legend { - display: block; - width: 100%; - border: 0; - padding: 0; - white-space: normal; - margin-bottom: 24px; - font-size: 150%; - *margin-left: -7px; -} - -label { - display: block; - margin: 0 0 0.3125em 0; - color: #333; - font-size: 90%; -} - -input, select, textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; -} - -.wy-control-group { - margin-bottom: 24px; - *zoom: 1; - max-width: 68em; - margin-left: auto; - margin-right: auto; - *zoom: 1; -} -.wy-control-group:before, .wy-control-group:after { - display: table; - content: ""; -} -.wy-control-group:after { - clear: both; -} -.wy-control-group:before, .wy-control-group:after { - display: table; - content: ""; -} -.wy-control-group:after { - clear: both; -} - -.wy-control-group.wy-control-group-required > label:after { - content: " *"; - color: #E74C3C; -} - -.wy-control-group .wy-form-full, .wy-control-group .wy-form-halves, .wy-control-group .wy-form-thirds { - padding-bottom: 12px; -} -.wy-control-group .wy-form-full select, .wy-control-group .wy-form-halves select, .wy-control-group .wy-form-thirds select { - width: 100%; -} -.wy-control-group .wy-form-full input[type="text"], .wy-control-group .wy-form-full input[type="password"], .wy-control-group .wy-form-full input[type="email"], .wy-control-group .wy-form-full input[type="url"], .wy-control-group .wy-form-full input[type="date"], .wy-control-group .wy-form-full input[type="month"], .wy-control-group .wy-form-full input[type="time"], .wy-control-group .wy-form-full input[type="datetime"], .wy-control-group .wy-form-full input[type="datetime-local"], .wy-control-group .wy-form-full input[type="week"], .wy-control-group .wy-form-full input[type="number"], .wy-control-group .wy-form-full input[type="search"], .wy-control-group .wy-form-full input[type="tel"], .wy-control-group .wy-form-full input[type="color"], .wy-control-group .wy-form-halves input[type="text"], .wy-control-group .wy-form-halves input[type="password"], .wy-control-group .wy-form-halves input[type="email"], .wy-control-group .wy-form-halves input[type="url"], .wy-control-group .wy-form-halves input[type="date"], .wy-control-group .wy-form-halves input[type="month"], .wy-control-group .wy-form-halves input[type="time"], .wy-control-group .wy-form-halves input[type="datetime"], .wy-control-group .wy-form-halves input[type="datetime-local"], .wy-control-group .wy-form-halves input[type="week"], .wy-control-group .wy-form-halves input[type="number"], .wy-control-group .wy-form-halves input[type="search"], .wy-control-group .wy-form-halves input[type="tel"], .wy-control-group .wy-form-halves input[type="color"], .wy-control-group .wy-form-thirds input[type="text"], .wy-control-group .wy-form-thirds input[type="password"], .wy-control-group .wy-form-thirds input[type="email"], .wy-control-group .wy-form-thirds input[type="url"], .wy-control-group .wy-form-thirds input[type="date"], .wy-control-group .wy-form-thirds input[type="month"], .wy-control-group .wy-form-thirds input[type="time"], .wy-control-group .wy-form-thirds input[type="datetime"], .wy-control-group .wy-form-thirds input[type="datetime-local"], .wy-control-group .wy-form-thirds input[type="week"], .wy-control-group .wy-form-thirds input[type="number"], .wy-control-group .wy-form-thirds input[type="search"], .wy-control-group .wy-form-thirds input[type="tel"], .wy-control-group .wy-form-thirds input[type="color"] { - width: 100%; -} - -.wy-control-group .wy-form-full { - float: left; - display: block; - margin-right: 2.35765%; - width: 100%; - margin-right: 0; -} -.wy-control-group .wy-form-full:last-child { - margin-right: 0; -} - -.wy-control-group .wy-form-halves { - float: left; - display: block; - margin-right: 2.35765%; - width: 48.82117%; -} -.wy-control-group .wy-form-halves:last-child { - margin-right: 0; -} -.wy-control-group .wy-form-halves:nth-of-type(2n) { - margin-right: 0; -} -.wy-control-group .wy-form-halves:nth-of-type(2n+1) { - clear: left; -} - -.wy-control-group .wy-form-thirds { - float: left; - display: block; - margin-right: 2.35765%; - width: 31.76157%; -} -.wy-control-group .wy-form-thirds:last-child { - margin-right: 0; -} -.wy-control-group .wy-form-thirds:nth-of-type(3n) { - margin-right: 0; -} -.wy-control-group .wy-form-thirds:nth-of-type(3n+1) { - clear: left; -} - -.wy-control-group.wy-control-group-no-input .wy-control { - margin: 6px 0 0 0; - font-size: 90%; -} - -.wy-control-no-input { - display: inline-block; - margin: 6px 0 0 0; - font-size: 90%; -} - -.wy-control-group.fluid-input input[type="text"], .wy-control-group.fluid-input input[type="password"], .wy-control-group.fluid-input input[type="email"], .wy-control-group.fluid-input input[type="url"], .wy-control-group.fluid-input input[type="date"], .wy-control-group.fluid-input input[type="month"], .wy-control-group.fluid-input input[type="time"], .wy-control-group.fluid-input input[type="datetime"], .wy-control-group.fluid-input input[type="datetime-local"], .wy-control-group.fluid-input input[type="week"], .wy-control-group.fluid-input input[type="number"], .wy-control-group.fluid-input input[type="search"], .wy-control-group.fluid-input input[type="tel"], .wy-control-group.fluid-input input[type="color"] { - width: 100%; -} - -.wy-form-message-inline { - display: inline-block; - padding-left: 0.3em; - color: #666; - vertical-align: middle; - font-size: 90%; -} - -.wy-form-message { - display: block; - color: #999; - font-size: 70%; - margin-top: 0.3125em; - font-style: italic; -} -.wy-form-message p { - font-size: inherit; - font-style: italic; - margin-bottom: 6px; -} -.wy-form-message p:last-child { - margin-bottom: 0; -} - -input { - line-height: normal; -} - -input[type="button"], input[type="reset"], input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - *overflow: visible; -} -input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"] { - -webkit-appearance: none; - padding: 6px; - display: inline-block; - border: 1px solid #ccc; - font-size: 80%; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - box-shadow: inset 0 1px 3px #ddd; - border-radius: 0; - -webkit-transition: border 0.3s linear; - -moz-transition: border 0.3s linear; - transition: border 0.3s linear; -} -input[type="datetime-local"] { - padding: 0.34375em 0.625em; -} -input[disabled] { - cursor: default; -} -input[type="checkbox"], input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; - margin-right: 0.3125em; - *height: 13px; - *width: 13px; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus { - outline: 0; - outline: thin dotted \9; - border-color: #333; -} -input.no-focus:focus { - border-color: #ccc !important; -} -input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { - outline: thin dotted #333; - outline: 1px auto #129FEA; -} -input[type="text"][disabled], input[type="password"][disabled], input[type="email"][disabled], input[type="url"][disabled], input[type="date"][disabled], input[type="month"][disabled], input[type="time"][disabled], input[type="datetime"][disabled], input[type="datetime-local"][disabled], input[type="week"][disabled], input[type="number"][disabled], input[type="search"][disabled], input[type="tel"][disabled], input[type="color"][disabled] { - cursor: not-allowed; - background-color: #fafafa; -} - -input:focus:invalid, textarea:focus:invalid, select:focus:invalid { - color: #E74C3C; - border: 1px solid #E74C3C; -} - -input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:focus { - border-color: #E74C3C; -} - -input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus, input[type="checkbox"]:focus:invalid:focus { - outline-color: #E74C3C; -} - -input.wy-input-large { - padding: 12px; - font-size: 100%; -} - -textarea { - overflow: auto; - vertical-align: top; - width: 100%; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; -} - -select, textarea { - padding: 0.5em 0.625em; - display: inline-block; - border: 1px solid #ccc; - font-size: 80%; - box-shadow: inset 0 1px 3px #ddd; - -webkit-transition: border 0.3s linear; - -moz-transition: border 0.3s linear; - transition: border 0.3s linear; -} - -select { - border: 1px solid #ccc; - background-color: #fff; -} -select[multiple] { - height: auto; -} - -select:focus, textarea:focus { - outline: 0; -} - -select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] { - cursor: not-allowed; - background-color: #fafafa; -} - -input[type="radio"][disabled], input[type="checkbox"][disabled] { - cursor: not-allowed; -} - -.wy-checkbox, .wy-radio { - margin: 6px 0; - color: #404040; - display: block; -} -.wy-checkbox input, .wy-radio input { - vertical-align: baseline; -} - -.wy-form-message-inline { - display: inline-block; - *display: inline; - *zoom: 1; - vertical-align: middle; -} - -.wy-input-prefix, .wy-input-suffix { - white-space: nowrap; - padding: 6px; -} -.wy-input-prefix .wy-input-context, .wy-input-suffix .wy-input-context { - line-height: 27px; - padding: 0 8px; - display: inline-block; - font-size: 80%; - background-color: #f3f6f6; - border: solid 1px #ccc; - color: #999; -} - -.wy-input-suffix .wy-input-context { - border-left: 0; -} - -.wy-input-prefix .wy-input-context { - border-right: 0; -} - -.wy-switch { - position: relative; - display: block; - height: 24px; - margin-top: 12px; - cursor: pointer; -} -.wy-switch:before { - position: absolute; - content: ""; - display: block; - left: 0; - top: 0; - width: 36px; - height: 12px; - border-radius: 4px; - background: #ccc; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.wy-switch:after { - position: absolute; - content: ""; - display: block; - width: 18px; - height: 18px; - border-radius: 4px; - background: #999; - left: -3px; - top: -3px; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.wy-switch span { - position: absolute; - left: 48px; - display: block; - font-size: 12px; - color: #ccc; - line-height: 1; -} - -.wy-switch.active:before { - background: #1e8449; -} -.wy-switch.active:after { - left: 24px; - background: #27AE60; -} - -.wy-switch.disabled { - cursor: not-allowed; - opacity: 0.8; -} - -.wy-control-group.wy-control-group-error .wy-form-message, .wy-control-group.wy-control-group-error > label { - color: #E74C3C; -} -.wy-control-group.wy-control-group-error input[type="text"], .wy-control-group.wy-control-group-error input[type="password"], .wy-control-group.wy-control-group-error input[type="email"], .wy-control-group.wy-control-group-error input[type="url"], .wy-control-group.wy-control-group-error input[type="date"], .wy-control-group.wy-control-group-error input[type="month"], .wy-control-group.wy-control-group-error input[type="time"], .wy-control-group.wy-control-group-error input[type="datetime"], .wy-control-group.wy-control-group-error input[type="datetime-local"], .wy-control-group.wy-control-group-error input[type="week"], .wy-control-group.wy-control-group-error input[type="number"], .wy-control-group.wy-control-group-error input[type="search"], .wy-control-group.wy-control-group-error input[type="tel"], .wy-control-group.wy-control-group-error input[type="color"] { - border: solid 1px #E74C3C; -} -.wy-control-group.wy-control-group-error textarea { - border: solid 1px #E74C3C; -} - -.wy-inline-validate { - white-space: nowrap; -} -.wy-inline-validate .wy-input-context { - padding: 0.5em 0.625em; - display: inline-block; - font-size: 80%; -} - -.wy-inline-validate.wy-inline-validate-success .wy-input-context { - color: #27AE60; -} - -.wy-inline-validate.wy-inline-validate-danger .wy-input-context { - color: #E74C3C; -} - -.wy-inline-validate.wy-inline-validate-warning .wy-input-context { - color: #E67E22; -} - -.wy-inline-validate.wy-inline-validate-info .wy-input-context { - color: #2980B9; -} - -.rotate-90 { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} - -.rotate-180 { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} - -.rotate-270 { - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} - -.mirror { - -webkit-transform: scaleX(-1); - -moz-transform: scaleX(-1); - -ms-transform: scaleX(-1); - -o-transform: scaleX(-1); - transform: scaleX(-1); -} -.mirror.rotate-90 { - -webkit-transform: scaleX(-1) rotate(90deg); - -moz-transform: scaleX(-1) rotate(90deg); - -ms-transform: scaleX(-1) rotate(90deg); - -o-transform: scaleX(-1) rotate(90deg); - transform: scaleX(-1) rotate(90deg); -} -.mirror.rotate-180 { - -webkit-transform: scaleX(-1) rotate(180deg); - -moz-transform: scaleX(-1) rotate(180deg); - -ms-transform: scaleX(-1) rotate(180deg); - -o-transform: scaleX(-1) rotate(180deg); - transform: scaleX(-1) rotate(180deg); -} -.mirror.rotate-270 { - -webkit-transform: scaleX(-1) rotate(270deg); - -moz-transform: scaleX(-1) rotate(270deg); - -ms-transform: scaleX(-1) rotate(270deg); - -o-transform: scaleX(-1) rotate(270deg); - transform: scaleX(-1) rotate(270deg); -} - -@media only screen and (max-width: 480px) { - .wy-form button[type="submit"] { - margin: 0.7em 0 0; - } - .wy-form input[type="text"], .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { - margin-bottom: 0.3em; - display: block; - } - .wy-form label { - margin-bottom: 0.3em; - display: block; - } - - .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { - margin-bottom: 0; - } - - .wy-form-aligned .wy-control-group label { - margin-bottom: 0.3em; - text-align: left; - display: block; - width: 100%; - } - .wy-form-aligned .wy-control { - margin: 1.5em 0 0 0; - } - - .wy-form .wy-help-inline, .wy-form-message-inline, .wy-form-message { - display: block; - font-size: 80%; - padding: 6px 0; - } -} -@media screen and (max-width: 768px) { - .tablet-hide { - display: none; - } -} - -@media screen and (max-width: 480px) { - .mobile-hide { - display: none; - } -} - -.float-left { - float: left; -} - -.float-right { - float: right; -} - -.full-width { - width: 100%; -} - -.wy-table, .rst-content table.docutils, .rst-content table.field-list { - border-collapse: collapse; - border-spacing: 0; - empty-cells: show; - margin-bottom: 24px; -} -.wy-table caption, .rst-content table.docutils caption, .rst-content table.field-list caption { - color: #000; - font: italic 85%/1 arial, sans-serif; - padding: 1em 0; - text-align: center; -} -.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td, .wy-table th, .rst-content table.docutils th, .rst-content table.field-list th { - font-size: 90%; - margin: 0; - overflow: visible; - padding: 8px 16px; -} -.wy-table td:first-child, .rst-content table.docutils td:first-child, .rst-content table.field-list td:first-child, .wy-table th:first-child, .rst-content table.docutils th:first-child, .rst-content table.field-list th:first-child { - border-left-width: 0; -} -.wy-table thead, .rst-content table.docutils thead, .rst-content table.field-list thead { - color: #000; - text-align: left; - vertical-align: bottom; - white-space: nowrap; -} -.wy-table thead th, .rst-content table.docutils thead th, .rst-content table.field-list thead th { - font-weight: bold; - border-bottom: solid 2px #e1e4e5; -} -.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td { - background-color: transparent; - vertical-align: middle; -} - -.wy-table td p, .rst-content table.docutils td p, .rst-content table.field-list td p { - line-height: 18px; -} -.wy-table td p:last-child, .rst-content table.docutils td p:last-child, .rst-content table.field-list td p:last-child { - margin-bottom: 0; -} - -.wy-table .wy-table-cell-min, .rst-content table.docutils .wy-table-cell-min, .rst-content table.field-list .wy-table-cell-min { - width: 1%; - padding-right: 0; -} -.wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox], .wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox] { - margin: 0; -} - -.wy-table-secondary { - color: gray; - font-size: 90%; -} - -.wy-table-tertiary { - color: gray; - font-size: 80%; -} - -.wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td, .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td { - background-color: #f3f6f6; -} - -.wy-table-backed { - background-color: #f3f6f6; -} - -/* BORDERED TABLES */ -.wy-table-bordered-all, .rst-content table.docutils { - border: 1px solid #e1e4e5; -} -.wy-table-bordered-all td, .rst-content table.docutils td { - border-bottom: 1px solid #e1e4e5; - border-left: 1px solid #e1e4e5; -} -.wy-table-bordered-all tbody > tr:last-child td, .rst-content table.docutils tbody > tr:last-child td { - border-bottom-width: 0; -} - -.wy-table-bordered { - border: 1px solid #e1e4e5; -} - -.wy-table-bordered-rows td { - border-bottom: 1px solid #e1e4e5; -} -.wy-table-bordered-rows tbody > tr:last-child td { - border-bottom-width: 0; -} - -.wy-table-horizontal tbody > tr:last-child td { - border-bottom-width: 0; -} -.wy-table-horizontal td, .wy-table-horizontal th { - border-width: 0 0 1px 0; - border-bottom: 1px solid #e1e4e5; -} -.wy-table-horizontal tbody > tr:last-child td { - border-bottom-width: 0; -} - -/* RESPONSIVE TABLES */ -.wy-table-responsive { - margin-bottom: 24px; - max-width: 100%; - overflow: auto; -} -.wy-table-responsive table { - margin-bottom: 0 !important; -} -.wy-table-responsive table td, .wy-table-responsive table th { - white-space: nowrap; -} - -a { - color: #2980B9; - text-decoration: none; - cursor: pointer; -} -a:hover { - color: #3091d1; -} -a:visited { - color: #9B59B6; -} - -html { - height: 100%; - overflow-x: hidden; -} - -body { - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - font-weight: normal; - color: #404040; - min-height: 100%; - overflow-x: hidden; - background: #edf0f2; -} - -.wy-text-left { - text-align: left; -} - -.wy-text-center { - text-align: center; -} - -.wy-text-right { - text-align: right; -} - -.wy-text-large { - font-size: 120%; -} - -.wy-text-normal { - font-size: 100%; -} - -.wy-text-small, small { - font-size: 80%; -} - -.wy-text-strike { - text-decoration: line-through; -} - -.wy-text-warning { - color: #E67E22 !important; -} - -a.wy-text-warning:hover { - color: #eb9950 !important; -} - -.wy-text-info { - color: #2980B9 !important; -} - -a.wy-text-info:hover { - color: #409ad5 !important; -} - -.wy-text-success { - color: #27AE60 !important; -} - -a.wy-text-success:hover { - color: #36d278 !important; -} - -.wy-text-danger { - color: #E74C3C !important; -} - -a.wy-text-danger:hover { - color: #ed7669 !important; -} - -.wy-text-neutral { - color: #404040 !important; -} - -a.wy-text-neutral:hover { - color: #595959 !important; -} - -h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend { - margin-top: 0; - font-weight: 700; - font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; -} - -p { - line-height: 24px; - margin: 0; - font-size: 16px; - margin-bottom: 24px; -} - -h1 { - font-size: 175%; -} - -h2, .rst-content .toctree-wrapper p.caption { - font-size: 150%; -} - -h3 { - font-size: 125%; -} - -h4 { - font-size: 115%; -} - -h5 { - font-size: 110%; -} - -h6 { - font-size: 100%; -} - -hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #e1e4e5; - margin: 24px 0; - padding: 0; -} - -code, .rst-content tt, .rst-content code { - white-space: nowrap; - max-width: 100%; - background: #fff; - border: solid 1px #e1e4e5; - font-size: 75%; - padding: 0 5px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - color: #E74C3C; - overflow-x: auto; -} -code.code-large, .rst-content tt.code-large { - font-size: 90%; -} - -.wy-plain-list-disc, .rst-content .section ul, .rst-content .toctree-wrapper ul, article ul { - list-style: disc; - line-height: 24px; - margin-bottom: 24px; -} -.wy-plain-list-disc li, .rst-content .section ul li, .rst-content .toctree-wrapper ul li, article ul li { - list-style: disc; - margin-left: 24px; -} -.wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child { - margin-bottom: 0; -} -.wy-plain-list-disc li ul, .rst-content .section ul li ul, .rst-content .toctree-wrapper ul li ul, article ul li ul { - margin-bottom: 0; -} -.wy-plain-list-disc li li, .rst-content .section ul li li, .rst-content .toctree-wrapper ul li li, article ul li li { - list-style: circle; -} -.wy-plain-list-disc li li li, .rst-content .section ul li li li, .rst-content .toctree-wrapper ul li li li, article ul li li li { - list-style: square; -} -.wy-plain-list-disc li ol li, .rst-content .section ul li ol li, .rst-content .toctree-wrapper ul li ol li, article ul li ol li { - list-style: decimal; -} - -.wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol { - list-style: decimal; - line-height: 24px; - margin-bottom: 24px; -} -.wy-plain-list-decimal li, .rst-content .section ol li, .rst-content ol.arabic li, article ol li { - list-style: decimal; - margin-left: 24px; -} -.wy-plain-list-decimal li p:last-child, .rst-content .section ol li p:last-child, .rst-content ol.arabic li p:last-child, article ol li p:last-child { - margin-bottom: 0; -} -.wy-plain-list-decimal li ul, .rst-content .section ol li ul, .rst-content ol.arabic li ul, article ol li ul { - margin-bottom: 0; -} -.wy-plain-list-decimal li ul li, .rst-content .section ol li ul li, .rst-content ol.arabic li ul li, article ol li ul li { - list-style: disc; -} - -.codeblock-example { - border: 1px solid #e1e4e5; - border-bottom: none; - padding: 24px; - padding-top: 48px; - font-weight: 500; - background: #fff; - position: relative; -} -.codeblock-example:after { - content: "Example"; - position: absolute; - top: 0px; - left: 0px; - background: #9B59B6; - color: white; - padding: 6px 12px; -} -.codeblock-example.prettyprint-example-only { - border: 1px solid #e1e4e5; - margin-bottom: 24px; -} - -.codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'] { - border: 1px solid #e1e4e5; - padding: 0px; - overflow-x: auto; - background: #fff; - margin: 1px 0 24px 0; -} -.codeblock div[class^='highlight'], pre.literal-block div[class^='highlight'], .rst-content .literal-block div[class^='highlight'], div[class^='highlight'] div[class^='highlight'] { - border: none; - background: none; - margin: 0; -} - -div[class^='highlight'] td.code { - width: 100%; -} - -.linenodiv pre { - border-right: solid 1px #e6e9ea; - margin: 0; - padding: 12px 12px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 12px; - line-height: 1.5; - color: #d9d9d9; -} - -div[class^='highlight'] pre { - white-space: pre; - margin: 0; - padding: 12px 12px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 12px; - line-height: 1.5; - display: block; - overflow: auto; - color: #404040; -} - -@media print { - .codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'], div[class^='highlight'] pre { - white-space: pre-wrap; - } -} -.hll { - background-color: #ffffcc; - margin: 0 -12px; - padding: 0 12px; - display: block; -} - -.c { - color: #999988; - font-style: italic; -} - -.err { - color: #a61717; - background-color: #e3d2d2; -} - -.k { - font-weight: bold; -} - -.o { - font-weight: bold; -} - -.cm { - color: #999988; - font-style: italic; -} - -.cp { - color: #999999; - font-weight: bold; -} - -.c1 { - color: #999988; - font-style: italic; -} - -.cs { - color: #999999; - font-weight: bold; - font-style: italic; -} - -.gd { - color: #000000; - background-color: #ffdddd; -} - -.gd .x { - color: #000000; - background-color: #ffaaaa; -} - -.ge { - font-style: italic; -} - -.gr { - color: #aa0000; -} - -.gh { - color: #999999; -} - -.gi { - color: #000000; - background-color: #ddffdd; -} - -.gi .x { - color: #000000; - background-color: #aaffaa; -} - -.go { - color: #888888; -} - -.gp { - color: #555555; -} - -.gs { - font-weight: bold; -} - -.gu { - color: #800080; - font-weight: bold; -} - -.gt { - color: #aa0000; -} - -.kc { - font-weight: bold; -} - -.kd { - font-weight: bold; -} - -.kn { - font-weight: bold; -} - -.kp { - font-weight: bold; -} - -.kr { - font-weight: bold; -} - -.kt { - color: #445588; - font-weight: bold; -} - -.m { - color: #009999; -} - -.s { - color: #dd1144; -} - -.n { - color: #333333; -} - -.na { - color: teal; -} - -.nb { - color: #0086b3; -} - -.nc { - color: #445588; - font-weight: bold; -} - -.no { - color: teal; -} - -.ni { - color: purple; -} - -.ne { - color: #990000; - font-weight: bold; -} - -.nf { - color: #990000; - font-weight: bold; -} - -.nn { - color: #555555; -} - -.nt { - color: navy; -} - -.nv { - color: teal; -} - -.ow { - font-weight: bold; -} - -.w { - color: #bbbbbb; -} - -.mf { - color: #009999; -} - -.mh { - color: #009999; -} - -.mi { - color: #009999; -} - -.mo { - color: #009999; -} - -.sb { - color: #dd1144; -} - -.sc { - color: #dd1144; -} - -.sd { - color: #dd1144; -} - -.s2 { - color: #dd1144; -} - -.se { - color: #dd1144; -} - -.sh { - color: #dd1144; -} - -.si { - color: #dd1144; -} - -.sx { - color: #dd1144; -} - -.sr { - color: #009926; -} - -.s1 { - color: #dd1144; -} - -.ss { - color: #990073; -} - -.bp { - color: #999999; -} - -.vc { - color: teal; -} - -.vg { - color: teal; -} - -.vi { - color: teal; -} - -.il { - color: #009999; -} - -.gc { - color: #999; - background-color: #EAF2F5; -} - -.wy-breadcrumbs li { - display: inline-block; -} -.wy-breadcrumbs li.wy-breadcrumbs-aside { - float: right; -} -.wy-breadcrumbs li a { - display: inline-block; - padding: 5px; -} -.wy-breadcrumbs li a:first-child { - padding-left: 0; -} -.wy-breadcrumbs li code, .wy-breadcrumbs li .rst-content tt, .rst-content .wy-breadcrumbs li tt { - padding: 5px; - border: none; - background: none; -} -.wy-breadcrumbs li code.literal, .wy-breadcrumbs li .rst-content tt.literal, .rst-content .wy-breadcrumbs li tt.literal { - color: #404040; -} - -.wy-breadcrumbs-extra { - margin-bottom: 0; - color: #b3b3b3; - font-size: 80%; - display: inline-block; -} - -@media screen and (max-width: 480px) { - .wy-breadcrumbs-extra { - display: none; - } - - .wy-breadcrumbs li.wy-breadcrumbs-aside { - display: none; - } -} -@media print { - .wy-breadcrumbs li.wy-breadcrumbs-aside { - display: none; - } -} -.wy-affix { - position: fixed; - top: 1.618em; -} - -.wy-menu a:hover { - text-decoration: none; -} - -.wy-menu-horiz { - *zoom: 1; -} -.wy-menu-horiz:before, .wy-menu-horiz:after { - display: table; - content: ""; -} -.wy-menu-horiz:after { - clear: both; -} -.wy-menu-horiz ul, .wy-menu-horiz li { - display: inline-block; -} -.wy-menu-horiz li:hover { - background: rgba(255, 255, 255, 0.1); -} -.wy-menu-horiz li.divide-left { - border-left: solid 1px #404040; -} -.wy-menu-horiz li.divide-right { - border-right: solid 1px #404040; -} -.wy-menu-horiz a { - height: 32px; - display: inline-block; - line-height: 32px; - padding: 0 16px; -} - -.wy-menu-vertical { - width: 300px; -} -.wy-menu-vertical header, .wy-menu-vertical p.caption { - height: 32px; - display: inline-block; - line-height: 32px; - padding: 0 1.618em; - margin-bottom: 0; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 80%; - color: #555; - white-space: nowrap; -} -.wy-menu-vertical ul { - margin-bottom: 0; -} -.wy-menu-vertical li.divide-top { - border-top: solid 1px #404040; -} -.wy-menu-vertical li.divide-bottom { - border-bottom: solid 1px #404040; -} -.wy-menu-vertical li.current { - background: #e3e3e3; -} -.wy-menu-vertical li.current a { - color: gray; - border-right: solid 1px #c9c9c9; - padding: 0.4045em 2.427em; -} -.wy-menu-vertical li.current a:hover { - background: #d6d6d6; -} -.wy-menu-vertical li code, .wy-menu-vertical li .rst-content tt, .rst-content .wy-menu-vertical li tt { - border: none; - background: inherit; - color: inherit; - padding-left: 0; - padding-right: 0; -} -.wy-menu-vertical li span.toctree-expand { - display: block; - float: left; - margin-left: -1.2em; - font-size: 0.8em; - line-height: 1.6em; - color: #4d4d4d; -} -.wy-menu-vertical li.on a, .wy-menu-vertical li.current > a { - color: #404040; - padding: 0.4045em 1.618em; - font-weight: bold; - position: relative; - background: #fcfcfc; - border: none; - border-bottom: solid 1px #c9c9c9; - border-top: solid 1px #c9c9c9; - padding-left: 1.618em -4px; -} -.wy-menu-vertical li.on a:hover, .wy-menu-vertical li.current > a:hover { - background: #fcfcfc; -} -.wy-menu-vertical li.on a:hover span.toctree-expand, .wy-menu-vertical li.current > a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand { - display: block; - font-size: 0.8em; - line-height: 1.6em; - color: #333333; -} -.wy-menu-vertical li.toctree-l1.current li.toctree-l2 > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > ul { - display: none; -} -.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3.current > ul { - display: block; -} -.wy-menu-vertical li.toctree-l2.current > a { - background: #c9c9c9; - padding: 0.4045em 2.427em; -} -.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { - display: block; - background: #c9c9c9; - padding: 0.4045em 4.045em; -} -.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.toctree-l2 span.toctree-expand { - color: #a3a3a3; -} -.wy-menu-vertical li.toctree-l3 { - font-size: 0.9em; -} -.wy-menu-vertical li.toctree-l3.current > a { - background: #bdbdbd; - padding: 0.4045em 4.045em; -} -.wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { - display: block; - background: #bdbdbd; - padding: 0.4045em 5.663em; - border-top: none; - border-bottom: none; -} -.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.toctree-l3 span.toctree-expand { - color: #969696; -} -.wy-menu-vertical li.toctree-l4 { - font-size: 0.9em; -} -.wy-menu-vertical li.current ul { - display: block; -} -.wy-menu-vertical li ul { - margin-bottom: 0; - display: none; -} -.wy-menu-vertical .local-toc li ul { - display: block; -} -.wy-menu-vertical li ul li a { - margin-bottom: 0; - color: #b3b3b3; - font-weight: normal; -} -.wy-menu-vertical a { - display: inline-block; - line-height: 18px; - padding: 0.4045em 1.618em; - display: block; - position: relative; - font-size: 90%; - color: #b3b3b3; -} -.wy-menu-vertical a:hover { - background-color: #4e4a4a; - cursor: pointer; -} -.wy-menu-vertical a:hover span.toctree-expand { - color: #b3b3b3; -} -.wy-menu-vertical a:active { - background-color: #2980B9; - cursor: pointer; - color: #fff; -} -.wy-menu-vertical a:active span.toctree-expand { - color: #fff; -} - -.wy-side-nav-search { - display: block; - width: 300px; - padding: 0.809em; - margin-bottom: 0.809em; - z-index: 200; - background-color: #2980B9; - text-align: center; - padding: 0.809em; - display: block; - color: #fcfcfc; - margin-bottom: 0.809em; -} -.wy-side-nav-search input[type=text] { - width: 100%; - border-radius: 50px; - padding: 6px 12px; - border-color: #2472a4; -} -.wy-side-nav-search img { - display: block; - margin: auto auto 0.809em auto; - height: 45px; - width: 45px; - background-color: #2980B9; - padding: 5px; - border-radius: 100%; -} -.wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a { - color: #fcfcfc; - font-size: 100%; - font-weight: bold; - display: inline-block; - padding: 4px 6px; - margin-bottom: 0.809em; -} -.wy-side-nav-search > a:hover, .wy-side-nav-search .wy-dropdown > a:hover { - background: rgba(255, 255, 255, 0.1); -} -.wy-side-nav-search > a img.logo, .wy-side-nav-search .wy-dropdown > a img.logo { - display: block; - margin: 0 auto; - height: auto; - width: auto; - border-radius: 0; - max-width: 100%; - background: transparent; -} -.wy-side-nav-search > a.icon img.logo, .wy-side-nav-search .wy-dropdown > a.icon img.logo { - margin-top: 0.85em; -} -.wy-side-nav-search > div.version { - margin-top: -0.4045em; - margin-bottom: 0.809em; - font-weight: normal; - color: rgba(255, 255, 255, 0.3); -} - -.wy-nav .wy-menu-vertical header { - color: #2980B9; -} -.wy-nav .wy-menu-vertical a { - color: #b3b3b3; -} -.wy-nav .wy-menu-vertical a:hover { - background-color: #2980B9; - color: #fff; -} - -[data-menu-wrap] { - -webkit-transition: all 0.2s ease-in; - -moz-transition: all 0.2s ease-in; - transition: all 0.2s ease-in; - position: absolute; - opacity: 1; - width: 100%; - opacity: 0; -} -[data-menu-wrap].move-center { - left: 0; - right: auto; - opacity: 1; -} -[data-menu-wrap].move-left { - right: auto; - left: -100%; - opacity: 0; -} -[data-menu-wrap].move-right { - right: -100%; - left: auto; - opacity: 0; -} - -.wy-body-for-nav { - background: left repeat-y #fcfcfc; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC); - background-size: 300px 1px; -} - -.wy-grid-for-nav { - position: absolute; - width: 100%; - height: 100%; -} - -.wy-nav-side { - position: fixed; - top: 0; - bottom: 0; - left: 0; - padding-bottom: 2em; - width: 300px; - overflow-x: hidden; - overflow-y: hidden; - min-height: 100%; - background: #343131; - z-index: 200; -} - -.wy-side-scroll { - width: 320px; - position: relative; - overflow-x: hidden; - overflow-y: scroll; - height: 100%; -} - -.wy-nav-top { - display: none; - background: #2980B9; - color: #fff; - padding: 0.4045em 0.809em; - position: relative; - line-height: 50px; - text-align: center; - font-size: 100%; - *zoom: 1; -} -.wy-nav-top:before, .wy-nav-top:after { - display: table; - content: ""; -} -.wy-nav-top:after { - clear: both; -} -.wy-nav-top a { - color: #fff; - font-weight: bold; -} -.wy-nav-top img { - margin-right: 12px; - height: 45px; - width: 45px; - background-color: #2980B9; - padding: 5px; - border-radius: 100%; -} -.wy-nav-top i { - font-size: 30px; - float: left; - cursor: pointer; - padding-top: inherit; -} - -.wy-nav-content-wrap { - margin-left: 300px; - background: #fcfcfc; - min-height: 100%; -} - -.wy-nav-content { - padding: 1.618em 3.236em; - height: 100%; - max-width: 100%; - margin: auto; -} - -.wy-body-mask { - position: fixed; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.2); - display: none; - z-index: 499; -} -.wy-body-mask.on { - display: block; -} - -footer { - color: #999; -} -footer p { - margin-bottom: 12px; -} -footer span.commit code, footer span.commit .rst-content tt, .rst-content footer span.commit tt { - padding: 0px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 1em; - background: none; - border: none; - color: #999; -} - -.rst-footer-buttons { - *zoom: 1; -} -.rst-footer-buttons:before, .rst-footer-buttons:after { - display: table; - content: ""; -} -.rst-footer-buttons:after { - clear: both; -} - -.rst-breadcrumbs-buttons { - margin-top: 12px; - *zoom: 1; -} -.rst-breadcrumbs-buttons:before, .rst-breadcrumbs-buttons:after { - display: table; - content: ""; -} -.rst-breadcrumbs-buttons:after { - clear: both; -} - -#search-results .search li { - margin-bottom: 24px; - border-bottom: solid 1px #e1e4e5; - padding-bottom: 24px; -} -#search-results .search li:first-child { - border-top: solid 1px #e1e4e5; - padding-top: 24px; -} -#search-results .search li a { - font-size: 120%; - margin-bottom: 12px; - display: inline-block; -} -#search-results .context { - color: gray; - font-size: 90%; -} - -@media screen and (max-width: 768px) { - .wy-body-for-nav { - background: #fcfcfc; - } - - .wy-nav-top { - display: block; - } - - .wy-nav-side { - left: -300px; - } - .wy-nav-side.shift { - width: 85%; - left: 0; - } - - .wy-side-scroll { - width: auto; - } - - .wy-side-nav-search { - width: auto; - } - - .wy-menu.wy-menu-vertical { - width: auto; - } - - .wy-nav-content-wrap { - margin-left: 0; - } - .wy-nav-content-wrap .wy-nav-content { - padding: 1.618em; - } - .wy-nav-content-wrap.shift { - position: fixed; - min-width: 100%; - left: 85%; - top: 0; - height: 100%; - overflow: hidden; - } -} -@media screen and (min-width: 1400px) { - .wy-nav-content-wrap { - background: rgba(0, 0, 0, 0.05); - } - - .wy-nav-content { - margin: 0; - background: #fcfcfc; - } -} -@media print { - .rst-versions, footer, .wy-nav-side { - display: none; - } - - .wy-nav-content-wrap { - margin-left: 0; - } -} -.rst-versions { - position: fixed; - bottom: 0; - left: 0; - width: 300px; - color: #fcfcfc; - background: #1f1d1d; - border-top: solid 10px #343131; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - z-index: 400; -} -.rst-versions a { - color: #2980B9; - text-decoration: none; -} -.rst-versions .rst-badge-small { - display: none; -} -.rst-versions .rst-current-version { - padding: 12px; - background-color: #272525; - display: block; - text-align: right; - font-size: 90%; - cursor: pointer; - color: #27AE60; - *zoom: 1; -} -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { - display: table; - content: ""; -} -.rst-versions .rst-current-version:after { - clear: both; -} -.rst-versions .rst-current-version .fa, .rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand, .rst-versions .rst-current-version .rst-content .admonition-title, .rst-content .rst-versions .rst-current-version .admonition-title, .rst-versions .rst-current-version .rst-content h1 .headerlink, .rst-content h1 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h2 .headerlink, .rst-content h2 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h3 .headerlink, .rst-content h3 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h4 .headerlink, .rst-content h4 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h5 .headerlink, .rst-content h5 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h6 .headerlink, .rst-content h6 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content dl dt .headerlink, .rst-content dl dt .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content p.caption .headerlink, .rst-content p.caption .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content tt.download span:first-child, .rst-content tt.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .rst-content code.download span:first-child, .rst-content code.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .icon { - color: #fcfcfc; -} -.rst-versions .rst-current-version .fa-book, .rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version.rst-out-of-date { - background-color: #E74C3C; - color: #fff; -} -.rst-versions .rst-current-version.rst-active-old-version { - background-color: #F1C40F; - color: #000; -} -.rst-versions.shift-up .rst-other-versions { - display: block; -} -.rst-versions .rst-other-versions { - font-size: 90%; - padding: 12px; - color: gray; - display: none; -} -.rst-versions .rst-other-versions hr { - display: block; - height: 1px; - border: 0; - margin: 20px 0; - padding: 0; - border-top: solid 1px #413d3d; -} -.rst-versions .rst-other-versions dd { - display: inline-block; - margin: 0; -} -.rst-versions .rst-other-versions dd a { - display: inline-block; - padding: 6px; - color: #fcfcfc; -} -.rst-versions.rst-badge { - width: auto; - bottom: 20px; - right: 20px; - left: auto; - border: none; - max-width: 300px; -} -.rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge .fa-book, .rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge.shift-up .rst-current-version { - text-align: right; -} -.rst-versions.rst-badge.shift-up .rst-current-version .fa-book, .rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge .rst-current-version { - width: auto; - height: 30px; - line-height: 30px; - padding: 0 6px; - display: block; - text-align: center; -} - -@media screen and (max-width: 768px) { - .rst-versions { - width: 85%; - display: none; - } - .rst-versions.shift { - display: block; - } -} -.rst-content img { - max-width: 100%; - height: auto !important; -} -.rst-content .highlight > pre, .rst-content .linenodiv > pre { - line-height: normal; -} -.rst-content div.figure { - margin-bottom: 24px; -} -.rst-content div.figure p.caption { - font-style: italic; -} -.rst-content div.figure.align-center { - text-align: center; -} -.rst-content .section > img, .rst-content .section > a > img { - margin-bottom: 24px; -} -.rst-content blockquote { - margin-left: 24px; - line-height: 24px; - margin-bottom: 24px; -} -.rst-content .note .last, .rst-content .attention .last, .rst-content .caution .last, .rst-content .danger .last, .rst-content .error .last, .rst-content .hint .last, .rst-content .important .last, .rst-content .tip .last, .rst-content .warning .last, .rst-content .seealso .last, .rst-content .admonition-todo .last { - margin-bottom: 0; -} -.rst-content .admonition-title:before { - margin-right: 4px; -} -.rst-content .admonition table { - border-color: rgba(0, 0, 0, 0.1); -} -.rst-content .admonition table td, .rst-content .admonition table th { - background: transparent !important; - border-color: rgba(0, 0, 0, 0.1) !important; -} -.rst-content .section ol.loweralpha, .rst-content .section ol.loweralpha li { - list-style: lower-alpha; -} -.rst-content .section ol.upperalpha, .rst-content .section ol.upperalpha li { - list-style: upper-alpha; -} -.rst-content .section ol p, .rst-content .section ul p { - margin-bottom: 12px; -} -.rst-content .line-block { - margin-left: 24px; -} -.rst-content .topic-title { - font-weight: bold; - margin-bottom: 12px; -} -.rst-content .toc-backref { - color: #404040; -} -.rst-content .align-right { - float: right; - margin: 0px 0px 24px 24px; -} -.rst-content .align-left { - float: left; - margin: 0px 24px 24px 0px; -} -.rst-content .align-center { - margin: auto; - display: block; -} -.rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content .toctree-wrapper p.caption .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink { - display: none; - visibility: hidden; - font-size: 14px; -} -.rst-content h1 .headerlink:after, .rst-content h2 .headerlink:after, .rst-content .toctree-wrapper p.caption .headerlink:after, .rst-content h3 .headerlink:after, .rst-content h4 .headerlink:after, .rst-content h5 .headerlink:after, .rst-content h6 .headerlink:after, .rst-content dl dt .headerlink:after, .rst-content p.caption .headerlink:after { - visibility: visible; - content: ""; - font-family: FontAwesome; - display: inline-block; -} -.rst-content h1:hover .headerlink, .rst-content h2:hover .headerlink, .rst-content .toctree-wrapper p.caption:hover .headerlink, .rst-content h3:hover .headerlink, .rst-content h4:hover .headerlink, .rst-content h5:hover .headerlink, .rst-content h6:hover .headerlink, .rst-content dl dt:hover .headerlink, .rst-content p.caption:hover .headerlink { - display: inline-block; -} -.rst-content .sidebar { - float: right; - width: 40%; - display: block; - margin: 0 0 24px 24px; - padding: 24px; - background: #f3f6f6; - border: solid 1px #e1e4e5; -} -.rst-content .sidebar p, .rst-content .sidebar ul, .rst-content .sidebar dl { - font-size: 90%; -} -.rst-content .sidebar .last { - margin-bottom: 0; -} -.rst-content .sidebar .sidebar-title { - display: block; - font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; - font-weight: bold; - background: #e1e4e5; - padding: 6px 12px; - margin: -24px; - margin-bottom: 24px; - font-size: 100%; -} -.rst-content .highlighted { - background: #F1C40F; - display: inline-block; - font-weight: bold; - padding: 0 6px; -} -.rst-content .footnote-reference, .rst-content .citation-reference { - vertical-align: super; - font-size: 90%; -} -.rst-content table.docutils.citation, .rst-content table.docutils.footnote { - background: none; - border: none; - color: #999; -} -.rst-content table.docutils.citation td, .rst-content table.docutils.citation tr, .rst-content table.docutils.footnote td, .rst-content table.docutils.footnote tr { - border: none; - background-color: transparent !important; - white-space: normal; -} -.rst-content table.docutils.citation td.label, .rst-content table.docutils.footnote td.label { - padding-left: 0; - padding-right: 0; - vertical-align: top; -} -.rst-content table.docutils.citation tt, .rst-content table.docutils.citation code, .rst-content table.docutils.footnote tt, .rst-content table.docutils.footnote code { - color: #555; -} -.rst-content table.field-list { - border: none; -} -.rst-content table.field-list td { - border: none; - padding-top: 5px; -} -.rst-content table.field-list td > strong { - display: inline-block; - margin-top: 3px; -} -.rst-content table.field-list .field-name { - padding-right: 10px; - text-align: left; - white-space: nowrap; -} -.rst-content table.field-list .field-body { - text-align: left; - padding-left: 0; -} -.rst-content tt, .rst-content tt, .rst-content code { - color: #000; - padding: 2px 5px; -} -.rst-content tt big, .rst-content tt em, .rst-content tt big, .rst-content code big, .rst-content tt em, .rst-content code em { - font-size: 100% !important; - line-height: normal; -} -.rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { - color: #E74C3C; -} -.rst-content tt.xref, a .rst-content tt, .rst-content tt.xref, .rst-content code.xref, a .rst-content tt, a .rst-content code { - font-weight: bold; - color: #404040; -} -.rst-content a tt, .rst-content a tt, .rst-content a code { - color: #2980B9; -} -.rst-content dl { - margin-bottom: 24px; -} -.rst-content dl dt { - font-weight: bold; -} -.rst-content dl p, .rst-content dl table, .rst-content dl ul, .rst-content dl ol { - margin-bottom: 12px !important; -} -.rst-content dl dd { - margin: 0 0 12px 24px; -} -.rst-content dl:not(.docutils) { - margin-bottom: 24px; -} -.rst-content dl:not(.docutils) dt { - display: table; - margin: 6px 0; - font-size: 90%; - line-height: normal; - background: #e7f2fa; - color: #2980B9; - border-top: solid 3px #6ab0de; - padding: 6px; - position: relative; -} -.rst-content dl:not(.docutils) dt:before { - color: #6ab0de; -} -.rst-content dl:not(.docutils) dt .headerlink { - color: #404040; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) dl dt { - margin-bottom: 6px; - border: none; - border-left: solid 3px #cccccc; - background: #f0f0f0; - color: #555; -} -.rst-content dl:not(.docutils) dl dt .headerlink { - color: #404040; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) dt:first-child { - margin-top: 0; -} -.rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) code { - font-weight: bold; -} -.rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) code.descclassname { - background-color: transparent; - border: none; - padding: 0; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname { - font-weight: bold; -} -.rst-content dl:not(.docutils) .optional { - display: inline-block; - padding: 0 4px; - color: #000; - font-weight: bold; -} -.rst-content dl:not(.docutils) .property { - display: inline-block; - padding-right: 8px; -} -.rst-content .viewcode-link, .rst-content .viewcode-back { - display: inline-block; - color: #27AE60; - font-size: 80%; - padding-left: 24px; -} -.rst-content .viewcode-back { - display: block; - float: right; -} -.rst-content p.rubric { - margin-bottom: 12px; - font-weight: bold; -} -.rst-content tt.download, .rst-content code.download { - background: inherit; - padding: inherit; - font-weight: normal; - font-family: inherit; - font-size: inherit; - color: inherit; - border: inherit; - white-space: inherit; -} -.rst-content tt.download span:first-child, .rst-content code.download span:first-child { - -webkit-font-smoothing: subpixel-antialiased; -} -.rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { - margin-right: 4px; -} -.rst-content .guilabel { - border: 1px solid #7fbbe3; - background: #e7f2fa; - font-size: 80%; - font-weight: 700; - border-radius: 4px; - padding: 2.4px 6px; - margin: auto 2px; -} -.rst-content .versionmodified { - font-style: italic; -} - -@media screen and (max-width: 480px) { - .rst-content .sidebar { - width: 100%; - } -} -span[id*='MathJax-Span'] { - color: #404040; -} - -.math { - text-align: center; -} - -@font-face { - font-family: "Inconsolata"; - font-style: normal; - font-weight: 400; - src: local("Inconsolata"), local("Inconsolata-Regular"), url(../fonts/Inconsolata-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Inconsolata"; - font-style: normal; - font-weight: 700; - src: local("Inconsolata Bold"), local("Inconsolata-Bold"), url(../fonts/Inconsolata-Bold.ttf) format("truetype"); -} -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 400; - src: local("Lato Regular"), local("Lato-Regular"), url(../fonts/Lato-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 700; - src: local("Lato Bold"), local("Lato-Bold"), url(../fonts/Lato-Bold.ttf) format("truetype"); -} -@font-face { - font-family: "Roboto Slab"; - font-style: normal; - font-weight: 400; - src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url(../fonts/RobotoSlab-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Roboto Slab"; - font-style: normal; - font-weight: 700; - src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url(../fonts/RobotoSlab-Bold.ttf) format("truetype"); -} - -/*# sourceMappingURL=theme.css.map */ diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/theme.css.map b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/theme.css.map deleted file mode 100644 index 9953343..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/css/theme.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../../bower_components/neat/app/assets/stylesheets/grid/_grid.scss","../../../bower_components/bourbon/dist/addons/_prefixer.scss","../../../bower_components/wyrm/sass/wyrm_core/_reset.sass","../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/font-awesome/scss/font-awesome.scss","../../../bower_components/font-awesome/scss/_path.scss","../../../bower_components/font-awesome/scss/_core.scss","../../../bower_components/font-awesome/scss/_larger.scss","../../../bower_components/font-awesome/scss/_fixed-width.scss","../../../bower_components/font-awesome/scss/_list.scss","../../../bower_components/font-awesome/scss/_variables.scss","../../../bower_components/font-awesome/scss/_bordered-pulled.scss","../../../bower_components/font-awesome/scss/_animated.scss","../../../bower_components/font-awesome/scss/_rotated-flipped.scss","../../../bower_components/font-awesome/scss/_mixins.scss","../../../bower_components/font-awesome/scss/_stacked.scss","../../../bower_components/font-awesome/scss/_icons.scss","../../../bower_components/font-awesome/scss/_screen-reader.scss","../../../bower_components/wyrm/sass/wyrm_core/_font_icon_defaults.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../bower_components/wyrm/sass/wyrm_core/_alert.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss","../../../bower_components/wyrm/sass/wyrm_core/_button.sass","../../../bower_components/wyrm/sass/wyrm_core/_dropdown.sass","../../../bower_components/wyrm/sass/wyrm_core/_form.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_outer-container.scss","../../../bower_components/neat/app/assets/stylesheets/settings/_grid.scss","../../../bower_components/neat/app/assets/stylesheets/grid/_span-columns.scss","../../../bower_components/wyrm/sass/wyrm_core/_neat_extra.sass","../../../bower_components/wyrm/sass/wyrm_core/_generic.sass","../../../bower_components/wyrm/sass/wyrm_core/_table.sass","../../../bower_components/wyrm/sass/wyrm_core/_type.sass","../../../bower_components/wyrm/sass/wyrm_addons/pygments/_pygments.sass","../../../bower_components/wyrm/sass/wyrm_addons/pygments/_pygments_light.sass","../../../sass/_theme_breadcrumbs.sass","../../../sass/_theme_layout.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_private.scss","../../../sass/_theme_badge.sass","../../../sass/_theme_rst.sass","../../../sass/_theme_mathjax.sass","../../../sass/_theme_font_local.sass"], -"names": [], -"file": "theme.css" -} diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/FontAwesome.otf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/FontAwesome.otf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Inconsolata-Bold.ttf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Inconsolata-Bold.ttf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Inconsolata-Regular.ttf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Inconsolata-Regular.ttf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Lato-Bold.ttf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Lato-Bold.ttf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Lato-Regular.ttf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/Lato-Regular.ttf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/RobotoSlab-Bold.ttf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/RobotoSlab-Bold.ttf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/RobotoSlab-Regular.ttf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/RobotoSlab-Regular.ttf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.eot b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.eot deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.svg b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.svg deleted file mode 100644 index 8b66187..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,685 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.ttf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.ttf deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.woff b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.woff deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.woff2 b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index e69de29..0000000 diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/js/modernizr.min.js b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/js/modernizr.min.js deleted file mode 100644 index f65d479..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/static/js/modernizr.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.6.2 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f"); - - // Add expand links to all parents of nested ul - $('.wy-menu-vertical ul').not('.simple').siblings('a').each(function () { - var link = $(this); - expand = $(''); - expand.on('click', function (ev) { - self.toggleCurrent(link); - ev.stopPropagation(); - return false; - }); - link.prepend(expand); - }); - }; - - nav.reset = function () { - // Get anchor from URL and open up nested nav - var anchor = encodeURI(window.location.hash); - if (anchor) { - try { - var link = $('.wy-menu-vertical') - .find('[href="' + anchor + '"]'); - // If we didn't find a link, it may be because we clicked on - // something that is not in the sidebar (eg: when using - // sphinxcontrib.httpdomain it generates headerlinks but those - // aren't picked up and placed in the toctree). So let's find - // the closest header in the document and try with that one. - if (link.length === 0) { - var doc_link = $('.document a[href="' + anchor + '"]'); - var closest_section = doc_link.closest('div.section'); - // Try again with the closest section entry. - link = $('.wy-menu-vertical') - .find('[href="#' + closest_section.attr("id") + '"]'); - - } - $('.wy-menu-vertical li.toctree-l1 li.current') - .removeClass('current'); - link.closest('li.toctree-l2').addClass('current'); - link.closest('li.toctree-l3').addClass('current'); - link.closest('li.toctree-l4').addClass('current'); - } - catch (err) { - console.log("Error expanding nav for anchor", err); - } - } - }; - - nav.onScroll = function () { - this.winScroll = false; - var newWinPosition = this.win.scrollTop(), - winBottom = newWinPosition + this.winHeight, - navPosition = this.navBar.scrollTop(), - newNavPosition = navPosition + (newWinPosition - this.winPosition); - if (newWinPosition < 0 || winBottom > this.docHeight) { - return; - } - this.navBar.scrollTop(newNavPosition); - this.winPosition = newWinPosition; - }; - - nav.onResize = function () { - this.winResize = false; - this.winHeight = this.win.height(); - this.docHeight = $(document).height(); - }; - - nav.hashChange = function () { - this.linkScroll = true; - this.win.one('hashchange', function () { - this.linkScroll = false; - }); - }; - - nav.toggleCurrent = function (elem) { - var parent_li = elem.closest('li'); - parent_li.siblings('li.current').removeClass('current'); - parent_li.siblings().find('li.current').removeClass('current'); - parent_li.find('> ul li.current').removeClass('current'); - parent_li.toggleClass('current'); - } - - return nav; -}; - -module.exports.ThemeNav = ThemeNav(); - -if (typeof(window) != 'undefined') { - window.SphinxRtdTheme = { StickyNav: module.exports.ThemeNav }; -} - -},{"jquery":"jquery"}]},{},["sphinx-rtd-theme"]); diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/theme.conf b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/theme.conf deleted file mode 100644 index f96b584..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/theme.conf +++ /dev/null @@ -1,14 +0,0 @@ -[theme] -inherit = basic -stylesheet = css/theme.css - -[options] -typekit_id = hiw1hhg -analytics_id = -sticky_navigation = False -logo_only = -collapse_navigation = False -display_version = True -navigation_depth = 4 -prev_next_buttons_location = bottom -canonical_url = diff --git a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/versions.html b/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/versions.html deleted file mode 100644 index 4d78287..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/sphinx_rtd_theme/versions.html +++ /dev/null @@ -1,37 +0,0 @@ -{% if READTHEDOCS %} -{# Add rst-badge after rst-versions for small badge style. #} -
- - Read the Docs - v: {{ current_version }} - - -
-
-
{{ _('Versions') }}
- {% for slug, url in versions %} -
{{ slug }}
- {% endfor %} -
-
-
{{ _('Downloads') }}
- {% for type, url in downloads %} -
{{ type }}
- {% endfor %} -
-
-
{{ _('On Read the Docs') }}
-
- {{ _('Project Home') }} -
-
- {{ _('Builds') }} -
-
-
- {% trans %}Free document hosting provided by Read the Docs.{% endtrans %} - -
-
-{% endif %} - diff --git a/docs-src/_theme/sphinx_rtd_theme/tox.ini b/docs-src/_theme/sphinx_rtd_theme/tox.ini deleted file mode 100644 index 6052fc0..0000000 --- a/docs-src/_theme/sphinx_rtd_theme/tox.ini +++ /dev/null @@ -1,21 +0,0 @@ -[tox] -envlist = py{27,34,35,36}-sphinx{13,14,15} - -[tox:travis] -2.7 = py27-sphinx{13,14,15} -3.4 = py34-sphinx{13,14,15} -3.5 = py35-sphinx{13,14,15} -3.6 = py36-sphinx{13,14,15} - -[testenv] -setev = - LANG=C -deps = - . - readthedocs-sphinx-ext - pytest - sphinx13: Sphinx < 1.4 - sphinx14: Sphinx < 1.5 - sphinx15: Sphinx < 1.6 -commands = - py.test {posargs} diff --git a/docs-src/conf.py b/docs-src/conf.py deleted file mode 100644 index f895c4b..0000000 --- a/docs-src/conf.py +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Django Markdownx documentation build configuration file, created by -# sphinx-quickstart on Fri Mar 10 22:41:38 2017. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. - -from os import path -import sys -from datetime import datetime -from re import compile as re_compile, MULTILINE - -sys.path.insert(0, path.abspath(path.join(path.pardir, path.pardir))) -sys.path.insert(0, path.abspath('_ext')) - -# -- General configuration ------------------------------------------------ - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.coverage', - 'sphinx.ext.mathjax', - 'sphinx.ext.viewcode', - 'sphinx.ext.githubpages', - 'classycode', - 'sphinxcontrib.autoanysrc', - 'sphinx.ext.autosectionlabel', - 'sphinx.ext.autosummary' - # 'edit_on_github' -] - -templates_path = ['_templates'] -html_theme_path = ['_themes'] -html_static_path = ['_static'] -source_suffix = '.rst' -pygments_style = 'sphinx' -html_theme = 'sphinx_rtd_theme' -language = None -exclude_patterns = [] -todo_include_todos = False -html_theme_options = {} -htmlhelp_basename = 'DjangoMarkdownxdoc' -master_doc = 'index' - -# sphinxcontrib-srclinks extension settings: -edit_on_github_project = 'adi-/django-markdownx' -edit_on_github_branch = 'master' - -# General information about the project. -project = 'Django Markdownx' -copyright = '{:%Y} - Adi, Pouria Hadjibagheri'.format(datetime.now()) -author = 'Adi, Pouria Hadjibagheri' - - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ( - master_doc, - 'DjangoMarkdownx.tex', - 'Django Markdownx Documentation', - 'Adi, Pouria Hadjibagheri', - 'manual' - ), -] - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ( - master_doc, - 'djangomarkdownx', - 'Django Markdownx Documentation', - [author], - 1 - ) -] - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ( - master_doc, - 'DjangoMarkdownx', - 'Django Markdownx Documentation', - author, - 'DjangoMarkdownx', - 'A comprehensive Markdown editor built for Django.', - 'Miscellaneous' - ), -] - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - 'papersize': 'a4paper', - - # The font size ('10pt', '11pt' or '12pt'). - 'pointsize': '12pt', - - # Additional stuff for the LaTeX preamble. - # 'preamble': '', - - # Latex figure (float) alignment - # 'figure_align': 'htbp', -} - - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -doc_paths = path.dirname(__file__) -init_file = path.join(doc_paths, path.pardir, 'markdownx', '__init__.py') -pattern = re_compile(r"^__version__.+[\'\"](?P(.+))[\'\"][.\n]?$", MULTILINE) - -with open(init_file, mode='r') as dt: - found = pattern.search(dt.read()) - if found: - _version = found.group('version') - - version = str.join('.', _version.split('.')[:2]) - - # The full version, including alpha/beta/rc tags. - release = _version diff --git a/docs-src/contribution.rst b/docs-src/contribution.rst deleted file mode 100644 index 46fd683..0000000 --- a/docs-src/contribution.rst +++ /dev/null @@ -1,176 +0,0 @@ -Contributions -============= - -We welcome and encourage contributions of all nature; from pointing out an error or a potential problem, to -translations, to feature requests, and pull requests. - -We have a implemented a fully comprehensive developers' environment that comes with many functionalities, including its -own Vagrant_ and Docker_ containers. - - -.. attention:: - Developers' environment is only compatible with Python 3 and is only compatible with Unix-based systems (Linux and - OS X). There are no plans to extend coverage to Python 2 as we intend to cease our support for Python 2 in the next - major release. We do not support development on Window through this method. - -To set up the developers' environment, start off by cloning our source code from GitHub_, like so: - -.. code-block:: bash - - git clone https://github.com/neutronX/django-markdownx.git - -One that's done, change to the cloned directory and run: - -.. code-block:: python - - python3 dev.py -h - -to see the options available. - -Quick Reference ---------------- - -And here is what you will see: - -+-------------------------+----------------------------------------------------------+ -| Argument | Description | -+=========================+==========================================================+ -| ``-h``, ``--help`` | show the help message and exit. | -+-------------------------+----------------------------------------------------------+ -| ``-v``, ``--vagrant`` | Install Vagrant development environment (requires | -| | Vagrant). | -+-------------------------+----------------------------------------------------------+ -| ``-d``, ``--docker`` | Install Docker development environment (requires | -| | Docker). | -+-------------------------+----------------------------------------------------------+ -| ``-c``, ``--clean`` | Clean up the development files (only the ones that have | -| | been automatically created). | -+-------------------------+----------------------------------------------------------+ -| ``-run-vagrant`` | Run vagrant development environment (runs ``--vagrant`` | -| | if the files don't already exist). Vagrant must be | -| | installed on your machine. | -+-------------------------+----------------------------------------------------------+ -| ``-run-docker`` | Run docker development environment (runs ``--docker`` if | -| | the files don't already exist). Docker must already be | -| | installed on your machine, and Docker Daemon must be up | -| | and running. | -+-------------------------+----------------------------------------------------------+ -| ``-no-container`` | Create development files without a container-based | -| | development environment (creates "manage.py" and | -| | "runtests.py"). | -+-------------------------+----------------------------------------------------------+ -| ``--with-docs`` | Install documentation development environment. | -+-------------------------+----------------------------------------------------------+ -| ``--with-npm-settings`` | Install npm installation environment, including | -| | ``package.json`` for front-end | -| | (TypeScript) development (requires ``node.js`` and | -| | ``npm``). | -+-------------------------+----------------------------------------------------------+ - -- ``--with-docs`` and ``--with-npm-settings`` are optional and need to be accompanied by one of the required arguments. -- To save the changes made within the developers' environment, use ``-c`` or ``--clean``; and you will be asked if you -would like to override the existing settings. **Do not commit your changes before doing this**. - -Example -------- - -This will install the following files: - -- manage.py -- runtests.py -- Makefile -- create_docs.py - -It will also install the requirements for compiling the documentations. You do not need to create the documentations -locally if you do not intend to change them. Although you are welcome to do so, for minor changes, it is probably -easier to report an issue on GitHub as compiling the documentations can be somewhat tricky. - -.. code-block:: bash - - python3 dev.py -no-container --with-docs - -Once done, please run: - -.. code-block:: bash - - python3 dev.py -c - -to clean the installed files. If any of them have been altered, you will be asked for additional instructions as to -whether to save the changes or discard them and hold onto the default. - -Tests ------ - -Django packages require :guilabel:`manage.py` and more often than not, :guilabel:`settings.py` files to run. This -introduces a challenge for testing apps outside of a fully constructed project environment. This is one of the reasons -why we introduced the developers' environment, which allows for a fully setup container (Vagrant_ or Docker_) to create -an inclusive virtual server that can be used to run **MarkdownX** independently. - -.. attention:: - You need to have either Vagrant_ or Docker_ along with `Oracle VirtualBox`_ installed and configured to run either - of these. - -.. Note:: - Vagrant will attempt to download and install Ubuntu Xenial, whilst Docker uses the default operating system if one - already exists. - - -To take advantage of this, you should clone the source code from GitHub_ as explained above, and depending on your -container of choice, follow these instructions: - -+-------------------------+------------------------------------+------------------------------------+ -| | Vagrant | Docker | -+=========================+====================================+====================================+ -| | | | -| **Initialize** | .. code-block:: bash | .. code-block:: bash | -| | | | -| | python3 dev.py --vagrant | python3 dev.py --docker | -| | | | -+-------------------------+------------------------------------+------------------------------------+ -| | | | -| **File created** | - Vagrantfile | - Dockerfile | -| | - bootstrap.sh | - docker-compose.yml | -| | - runtests.py | - entrypoint.sh | -| | - manage.py | - runtests.py | -| | - package.json | - manage.py | -| | | - package.json | -| | | | -+-------------------------+------------------------------------+------------------------------------+ -| | | | -| **Start the container** | .. code-block:: bash | .. code-block:: bash | -| | | | -| | python3 dev.py -run-vagrant | python3 dev.py -run-docker | -| | | | -+-------------------------+------------------------------------+------------------------------------+ -| | | | -| **Runs on** | http://localhost:8000/ | http://localhost:8000/ | -| | | | -| | or | or | -| | | | -| | http://127.0.0.1:8000/ | http://127.0.0.1:8000/ | -| | | | -+-------------------------+------------------------------------+------------------------------------+ -| | | | -| **Exit** | ``ctrl+c`` | ``ctrl+c`` | -| | | | -+-------------------------+------------------------------------+------------------------------------+ - - -.. tip:: - Any changes made to the code whilst the container is up and running is automatically reflected without the need to - restart the container. - -Once done, please run: - -.. code-block:: bash - - python3 dev.py -c - -to clean the installed files. If any of them have been altered, you will be asked for additional instructions as to -whether to save the changes or discard them and hold onto the default. - - -.. _Vagrant: https://www.vagrantup.com -.. _Docker: https://www.docker.com -.. _GitHub: https://github.com/neutronX/django-markdownx -.. _Oracle VirtualBox: https://www.virtualbox.org diff --git a/docs-src/contributions.md b/docs-src/contributions.md new file mode 100644 index 0000000..88a42a3 --- /dev/null +++ b/docs-src/contributions.md @@ -0,0 +1,134 @@ +# Contributions + +We welcome and encourage contributions of all nature; from pointing out an error or a potential problem, to translations, to feature requests, and pull requests. + +We have a implemented a fully comprehensive developers' environment that comes with many functionalities, including its +own [Vagrant](https://www.vagrantup.com) and [Docker](https://www.docker.com) containers. + +!!! attention + Developers' environment is only compatible with Python 3 and is only compatible with Unix-based systems (Linux and OS X). There are no plans to extend coverage to Python 2 as we intend to cease our support for Python 2 in the next major release. We do not support development on Window through this method. + +To set up the developers' environment, start off by cloning our source code from [GitHub](https://github.com/neutronX/django-markdownx), like so: + +```bash +git clone https://github.com/neutronX/django-markdownx.git +``` + +One that's done, change to the cloned directory and run: + +```python +python3 dev.py -h +``` + +to see the options available. + +## Quick reference + +And here is what you will see: + +Argument | Description +- | - +``-h``, ``--help`` | show the help message and exit. +``-v``, ``--vagrant`` | Install Vagrant development environment (requires Vagrant). +``-d``, ``--docker`` | Install Docker development environment (requires Docker). +``-c``, ``--clean`` | Clean up the development files (only the ones that have been automatically created). +``-run-vagrant`` | Run vagrant development environment (runs ``--vagrant`` if the files don't already exist). Vagrant must be installed on your machine. +``-run-docker`` | Run docker development environment (runs ``--docker`` if the files don't already exist). Docker must already be installed on your machine, and Docker Daemon must be up and running. +``-no-container`` | Create development files without a container-based development environment (creates "manage.py" and "runtests.py"). +``--with-docs`` | Install documentation development environment. +``--with-npm-settings`` | Install npm installation environment, including `package.json`` for front-end (TypeScript) development (requires ``node.js`` and ``npm``). + +- ``--with-docs`` and ``--with-npm-settings`` are optional and need to be accompanied by one of the required arguments. +- To save the changes made within the developers' environment, use ``-c`` or ``--clean``; and you will be asked if you +would like to override the existing settings. **Do not commit your changes before doing this**. + +## Example + +This will install the following files: + +- manage.py +- runtests.py +- Makefile +- create_docs.py + +It will also install the requirements for compiling the documentations. You do not need to create the documentations locally if you do not intend to change them. Although you are welcome to do so, for minor changes, it is probably easier to report an issue on GitHub as compiling the documentations can be somewhat tricky. + +```bash +python3 dev.py -no-container --with-docs +``` + +Once done, please run: + +```bash +python3 dev.py -c +``` + +to clean the installed files. If any of them have been altered, you will be asked for additional instructions as to whether to save the changes or discard them and hold onto the default. + +## Tests + +Django packages require `manage.py` and more often than not, `settings.py` files to run. This introduces a challenge for testing apps outside of a fully constructed project environment. This is one of the reasons why we introduced the developers' environment, which allows for a fully setup container ([Vagrant](https://www.vagrantup.com) or [Docker](https://www.docker.com)) to create an inclusive virtual server that can be used to run MarkdownX independently. + +!!! attention + You need to have either [Vagrant](https://www.vagrantup.com) or [Docker](https://www.docker.com) along with [Oracle VirtualBox](https://www.virtualbox.org) installed and configured to run either of these. + +!!! note + Vagrant will attempt to download and install Ubuntu Xenial, whilst Docker uses the default operating system if one already exists. + +To take advantage of this, you should clone the source code from [GitHub](https://github.com/neutronX/django-markdownx) as explained above, and depending on your container of choice, follow these instructions: + +## Vagrant + +```bash +python3 dev.py --vagrant +``` + +Files will be created: + +- Vagrantfile +- bootstrap.sh +- runtests.py +- manage.py +- package.json + +```bash +python3 dev.py -run-vagrant +``` + +Connect to server using ```http://localhost:8000/``` or ```http://127.0.0.1:8000/``` + +## Docker + +```bash +python3 dev.py --docker +``` + +Files will be created: + +- Dockerfile +- docker-compose.yml +- entrypoint.sh +- runtests.py +- manage.py +- package.json + +```bash +python3 dev.py -run-docker +``` + +Connect to server using ```http://localhost:8000/``` or ```http://127.0.0.1:8000/``` + +--- + +!!! tip + Any changes made to the code whilst the container is up and running is automatically reflected without the need to restart the container. + +## Cleanup + +Once done, please run: + +```bash +python3 dev.py -c +``` + +to clean the installed files. If any of them have been altered, you will be asked for additional instructions as to whether to save the changes or discard them and hold onto the default. diff --git a/docs-src/customization.md b/docs-src/customization.md new file mode 100644 index 0000000..490fd7c --- /dev/null +++ b/docs-src/customization.md @@ -0,0 +1,285 @@ +# Customization + +## General (ex. settings) + +### Widget + +The default widget is as seen [here](https://github.com/neutronX/django-markdownx/blob/master/markdownx/templates/markdownx/widget.html). + +If you would like to customise this; for instance, using [Bootstrap v3](https://getbootstrap.com) to implement side-by-side panes (as seen in :doc:`preview animation`), you should override the default widget’s template by creating your own template and saving it under ``markdownx/widget2.html`` (Django 1.11+), or ``markdownx/widget.html`` (Django 1.10 and below) in your project's `TEMPLATE_DIRS`. + +!!! note + In the case of Django 1.11+, you will need to [change the renderer](https://docs.djangoproject.com/en/1.11/ref/forms/renderers/#overriding-built-in-widget-templates) (Django docs) to ``TemplatesSetting``. + +Here is an example of the contents: + +```html +
+
+ + {{ markdownx_editor }} + + {% include 'django/forms/widgets/textarea.html' %} +
+
+
+
+
+``` + +### Fields + +We have ensured that MarkdownX is fully extensible and provides a high degree of flexibility in development. + +There are times that you may wish to Markdownify a different type of field, or utilize your own customized widget. To accommodate this, we have provided the tools to apply MarkdownX infrastructure to other fields through *Widgets*. + +For instance, to apply MarkdownX to ``TextField`` instances in your Django Admins, you can override the default widget in the Admins module in `admin.py` of your Django App as follows: + +```python +from django.db import models +from django.contrib import admin + +from markdownx.widgets import AdminMarkdownxWidget + +from .models import MyModel + + +class MyModelAdmin(admin.ModelAdmin): + formfield_overrides = { + models.TextField: {'widget': AdminMarkdownxWidget}, + } + + +admin.site.register(MyModel, MyModelAdmin) +``` + +### Image tags + +Markdown uses ``![]()`` tag by default to insert uploaded image file. This generates a simple (X)HTML ```` tag. If you wish to have more control and use your own HTML tags, you may create a custom ``form_valid()`` function in +``ImageUploadView`` class, as highlighted [here](https://github.com/neutronX/django-markdownx/blob/master/markdownx/views.py#L55-L82). + +--- + +## Settings + +You may place any of the variables outlined in this page in your `settings.py`, alter their values and override default behaviours: + +* [`MARKDOWNX_MARKDOWNIFY_FUNCTION`](#markdownx_markdownify_function) +* [`MARKDOWNX_MARKDOWN_EXTENSIONS`](#markdownx_markdown_extensions) +* [`MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS`](#markdownx_markdown_extension_configs) +* [`MARKDOWNX_URLS_PATH`](#markdownx_urls_path) +* [`MARKDOWNX_UPLOAD_URLS_PATH`](#markdownx_upload_urls_path) +* [`MARKDOWNX_MEDIA_PATH`](#markdownx_media_path) +* [`MARKDOWNX_UPLOAD_MAX_SIZE`](#markdownx_upload_max_size) +* [`MARKDOWNX_UPLOAD_CONTENT_TYPES`](#markdownx_upload_content_types) +* [`MARKDOWNX_IMAGE_MAX_SIZE`](#markdownx_image_max_size) +* [`MARKDOWNX_SVG_JAVASCRIPT_PROTECTION`](#markdownx_svg_javascript_protection) +* [`MARKDOWNX_EDITOR_RESIZABLE`](#markdownx_editor_resizable) +* [`MARKDOWNX_SERVER_CALL_LATENCY`](#markdownx_server_call_latency) + +!!! attention + The focus of this section is on the customisation of features controlled in the **backend**. Additional customisations, or to be rather more accurate, **event controls** are enabled in the frontend through JavaScript events. To learn more about these events, see our [JavaScript documentation on events](javascript.md#events). + +--- + +### `MARKDOWNX_MARKDOWNIFY_FUNCTION` + +Default: ``'markdownx.utils.markdownify'`` + +Markdown to HTML function. Takes an argument of type ``str()`` and returns the HTML encoded output as ``str()``. + +Default function that compiles markdown using defined extensions. Using custom function can allow you to pre-process or post-process markdown text. See below for more info. + +```python +MARKDOWNX_MARKDOWNIFY_FUNCTION = 'markdownx.utils.markdownify' +``` + +This function uses the [Markdown package](https://pythonhosted.org/Markdown/) for trans-compilation. + +!!! note + The function name must be entered as string, and the relevant package must be installed and accessible to the current interpreter such that it can later be imported as and when needed. So ``markdownx.utils.markdownify`` essentially means ``from markdownx.utils import markdownify``. + +!!! hint + The default function (``markdownx.utils.markdownify``) that handles the trans-compilation of Markdown to HTML looks like this: + + ```python + from markdown import markdown + + from .settings import ( + MARKDOWNX_MARKDOWN_EXTENSIONS, + MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS + ) + + def markdownify(content): + md = markdown( + text=content, + extensions=MARKDOWNX_MARKDOWN_EXTENSIONS, + extension_configs=MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS + ) + return md + ``` + +### `MARKDOWNX_MARKDOWN_EXTENSIONS` + +Default: empty ``list()`` + +List of ``str()``. List of Markdown extensions that you would like to use. See [available extensions](https://pythonhosted.org/Markdown/extensions/index.html#officially-supported-extensions) in Markdown docs. For instance, the extension [extra](https://pythonhosted.org/Markdown/extensions/extra.html) enables features such as abbreviations, footnotes, tables and so on. + +We recommend you read the documentation for the [Markdown package](https://pythonhosted.org/Markdown/), our default Markdown trans-compiler. + +```python +MARKDOWNX_MARKDOWN_EXTENSIONS = [ + 'markdown.extensions.extra' +] +``` + + +### `MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS` + +Default: empty ``dict()`` + +Configuration object for used markdown extensions. See ``extension_configs`` in [Markdown docs](https://pythonhosted.org/Markdown/reference.html#markdown). Here is a general idea: + +```python +MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS = { + 'extension_name_1': { + 'option_1': 'value_1' + } +} +``` + +### `MARKDOWNX_URLS_PATH` + +Default: `'/markdownx/markdownify/'` + +Relative URL to which the Markdown text is sent to be encoded as HTML. + +```python +MARKDOWNX_URLS_PATH = '/markdownx/markdownify/' +``` + +### `MARKDOWNX_UPLOAD_URLS_PATH` + +Default: `'/markdownx/upload/'` + +URL that accepts file uploads (images) through an AJAX `POST` request. The request response will contain markdown formatted markup containing the relative URL for the image. + +```python +MARKDOWNX_UPLOAD_URLS_PATH = '/markdownx/upload/' +``` + +### `MARKDOWNX_MEDIA_PATH` + +Default: `'markdownx/'` + +The path where the images will be stored in your `MEDIA_ROOT` directory. + +```python +MARKDOWNX_MEDIA_PATH = 'markdownx/' +``` + +!!! tip + **Recommended**: Storing all uploaded images in a single directory would over time results in a lot files being stored in one location. This would slow down the process of saving and loading files substantially, and can in turn lead to your website becoming very slow when it comes to loading images. To address this issue, it is better to save the uploads in different directories. Here is an example of how this can be achieved: + + ```python + from datetime import datetime + + MARKDOWNX_MEDIA_PATH = datetime.now().strftime('markdownx/%Y/%m/%d') + ``` + + This ensures that uploaded files are stored in a different directory on the basis of the date on which they are uploaded. So for instance; an image uploaded on the 15th of April 2017 will be stored under ``media/markdownx/2017/4/15/unique_name.png``. + +### `MARKDOWNX_UPLOAD_MAX_SIZE` + +Default: `50 * 1024 * 1024` bytes + +Maximum image size allowed in bytes: Default is 50MB, which is equal to 52,428,800 bytes. + +```python +MARKDOWNX_UPLOAD_MAX_SIZE = 50 * 1024 * 1024 +``` + +!!! tip + It is considered a good practice to display large numbers in a meaningful way. For instance, 52,438,800 bytes is better displayed in code as `= 50 * 1024 * 1024 # 50 MB in bytes` instead (the comment is also important). Fellow programmers will thank you for this in the future! + +### `MARKDOWNX_UPLOAD_CONTENT_TYPES` + +Default: `['image/jpeg', 'image/png', 'image/svg+xml']` + +Image formats that the user is permitted to upload. Enable / disable support for different image formats. + +```python +MARKDOWNX_UPLOAD_CONTENT_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml'] +``` + +### `MARKDOWNX_IMAGE_MAX_SIZE` + +Default: `{ 'size': (500, 500), 'quality': 90 }` + +Different options describing final image processing; e.g. dimension and quality. + +!!! note + Quality restrictions do not apply to `image/svg+xml` formatted graphics. + +Options are: + +Option | Value | Description +-|-|- +size | `(width,height)` | when one of the dimensions is set to zero, e.g. ``(500, 0)``, the height is calculated automatically so as to keep the dimensions intact. +quality | `int` | image quality from `0` (full compression) to `100` (no compression). Default: `90` +crop | `Boolean` | if `True`, the `size` is used to crop the image. Default: `False` +upscale | `Boolean` | if image dimensions are smaller than those defined in `size`, upscale to `size` dimensions. Default: `False` + + +```python +MARKDOWNX_IMAGE_MAX_SIZE = { + 'size': (500, 500), + 'quality': 90 +} +``` + +### `MARKDOWNX_SVG_JAVASCRIPT_PROTECTION` + +Default: `True` + +SVG graphics are in essence XML files formatted in a specific way; which means that they can contain JavaScript codes. This introduces a potential front-end security vulnerability for prospective users who will see the SVG image in context; e.g. it may be employed to collect the user's IP address or other personal information. + +!!! note + This type of attack is known as [XSS (Cross-site Scripting) attack](https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)). See this [presentation](https://www.owasp.org/images/0/03/Mario_Heiderich_OWASP_Sweden_The_image_that_called_me.pdf) by Mario Heiderich to learn more on SVG XSS attacks. There are a number of ways to deal with this vulnerability. + + Django is great at security, and provides very good protection against XSS attacks (see the Django [documentation](https://docs.djangoproject.com/en/dev/topics/security/#cross-site-scripting-xss-protection) for additional information) providing the [CSRF protection middleware](https://docs.djangoproject.com/en/dev/ref/middleware/#module-django.middleware.csrf) is enabled. When it comes to AJAX requests, however, CSRF protection may sometimes be disabled for various reasons. + +As a last resort, however, we have included an *optional* integrity check against JavaScript tags for SVG formatted files just in case everything else is disabled. This protection is enabled by default, and may be disabled by setting the value to ``False`` if so is desired. + +```python +MARKDOWNX_SVG_JAVASCRIPT_PROTECTION = True +``` + +!!! important + MarkdownX does *not* disable CSRF protection by default, and requires the token for all AJAX request. + +### `MARKDOWNX_EDITOR_RESIZABLE` + +Default: `True` + +Change the editor's height to match the height of the inner contents whilst typing. + +```python +MARKDOWNX_EDITOR_RESIZABLE = True +``` + +### `MARKDOWNX_SERVER_CALL_LATENCY` + +Default: `500` miliseconds + +Latency (minimum lag) between server calls as `int`. Minimum allowed: 500 milliseconds. + +!!! note + When the value of a MarkdownX editor is changed, a call is made to the server to trans-compile Markdown into HTML. However, a minimum latency of **500 milliseconds** has been imposed between the calls. This is to prevent the bombardment of the server with a huge number of HTTP requests (you don't want to DDoS your own server). This latency maintains a balance between responsiveness and protection, and is well-suited for medium traffic. Nonetheless, if your website enjoys a particularly high traffic, you may wish to alter this value slightly depending on the number of CPUs, the amount memory, and how much you are willing to compromise on responsiveness. + +```python +MARKDOWNX_SERVER_CALL_LATENCY = 500 # milliseconds +``` + +!!! attention + Any values below 500 milliseconds is silently ignored and replaced. diff --git a/docs-src/customization.rst b/docs-src/customization.rst deleted file mode 100644 index 1846cc9..0000000 --- a/docs-src/customization.rst +++ /dev/null @@ -1,369 +0,0 @@ -Customization -============= - ----- - -General (ex. settings) -********************** - -Templates ---------- - -The default widget is as seen `here -`_. - -If you would like to customise this; for instance, using `Bootstrap `_ to implement -side-by-side panes (as seen in :doc:`preview animation`), you should override the default template by creating -your own template and saving it under ``markdownx/widget2.html`` (Django 1.11+), or ``markdownx/widget.html`` (Django -1.10 and below) in your project's :guilabel:`TEMPLATE_DIRS`. - -.. Note:: - In the case of Django 1.11+, you will need to `change the renderer`_ (Django docs) to ``TemplatesSetting``. - -Here is an example of the contents: - -.. code-block:: html - -
-
- - {{ markdownx_editor }} - - {% include 'django/forms/widgets/textarea.html' %} -
-
-
-
-
- - -Fields ------- - -We have ensured that **MarkdownX** is fully extensible and provides a high degree of flexibility in development. - -There are times that you may wish to Markdownify a different type of field, or utilize your own customized widget. To -accommodate this, we have provided the tools to apply **MarkdownX** infrastructure to other fields through *Widgets*. - -For instance, to apply **MarkdownX** to ``TextField`` instances in your Django Admins, you can override the default -widget in the Admins module in :guilabel:`admin.py` of your Django App as follows: - -.. code-block:: python - :linenos: - - from django.db import models - from django.contrib import admin - - from markdownx.widgets import AdminMarkdownxWidget - - from .models import MyModel - - - class MyModelAdmin(admin.ModelAdmin): - formfield_overrides = { - models.TextField: {'widget': AdminMarkdownxWidget}, - } - - - admin.site.register(MyModel, MyModelAdmin) - - -Image tags ----------- - -Markdown uses ``![]()`` tag by default to insert uploaded image file. This generates a simple (X)HTML ```` tag. -If you wish to have more control and use your own HTML tags, you may create a custom ``form_valid()`` function in -``ImageUploadView`` class, as highlighted `here -`_. - ----- - -Settings -******** - -You may place any of the variables outlined in this page in your :guilabel:`settings.py`, alter their values and -override default behaviours. - -.. attention:: - The focus of this section is on the customisation of features controlled in the **backend**. Additional - customisations, or to be rather more accurate, **event controls** are enabled in the frontend through JavaScript - events. To learn more about these events, see our :doc:`JavaScript documentations on events`. - - -Quick Reference ---------------- - -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| Setting variable | Default Value | Description | -+==========================================+==================================================+========================================================================+ -| ``MARKDOWNX_MARKDOWNIFY_FUNCTION`` | ``'markdownx.utils.markdownify'`` | Markdown to HTML function. | -| | | Takes an argument of type ``str()`` and returns the | -| | | HTML encoded output as ``str()``. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_MARKDOWN_EXTENSIONS`` | Empty ``list()`` | List of ``str()``. Extensions for the Markdown function. | -| | | See `available extensions`_ in Markdown docs. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS`` | Empty ``dict()`` | Dictionary of configurations for extensions. | -| | | See ``extension_configs`` in `Markdown docs`_. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_URLS_PATH`` | ``'/markdownx/markdownify/'`` | Relative URL to which the Markdown text is sent to be encoded as HTML. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_UPLOAD_URLS_PATH`` | ``'/markdownx/upload/'`` | URL that accepts file uploads (images) through AJAX :guilabel:`POST`. | -| | | The request response will contain markdown formatted text with | -| | | relative URL of the image. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_MEDIA_PATH`` | ``'markdownx/'`` | Where images will be stored in :guilabel:`MEDIA_ROOT` folder. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_UPLOAD_MAX_SIZE`` | ``50 * 1024 * 1024`` bytes | Maximum image size allowed. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_UPLOAD_CONTENT_TYPES`` | ``['image/jpeg', 'image/png', 'image/svg+xml']`` | Enable / disable support for different image formats. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_IMAGE_MAX_SIZE`` | ``{ 'size': (500, 500), 'quality': 90 }`` | Maximum image dimension and quality. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_SVG_JAVASCRIPT_PROTECTION`` | ``True`` | Monitoring against JavaScript injection in SVG files. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_EDITOR_RESIZABLE`` | ``True`` | Change editor’s height to match the height of | -| | | the inner contents whilst typing. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_SERVER_CALL_LATENCY`` | ``500`` miliseconds | Latency (minimum lag) between server calls as ``int``. | -| | | Minimum allowed: 500 milliseconds. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ - -Details and examples --------------------- - -Looking for a specific feature? see the sidebar for the table of contents. - -Markdownify -........... - -Default function that compiles markdown using defined extensions. Using custom function can allow you to -pre-process or post-process markdown text. See below for more info. - -.. code-block:: python - - MARKDOWNX_MARKDOWNIFY_FUNCTION = 'markdownx.utils.markdownify' - -This function uses the `Markdown package`_ for trans-compilation. - -.. Note:: - The function name must be entered as string, and the relevant package must be installed and accessible to the - current interpreter such that it can later be imported as and when needed. So ``markdownx.utils.markdownify`` - essentially means ``from markdownx.utils import markdownify``. - -.. Hint:: - The default function (``markdownx.utils.markdownify``) that handles the trans-compilation of Markdown to HTML looks - like this: - - .. code-block:: python - - from markdown import markdown - - from .settings import ( - MARKDOWNX_MARKDOWN_EXTENSIONS, - MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS - ) - - def markdownify(content): - md = markdown( - text=content, - extensions=MARKDOWNX_MARKDOWN_EXTENSIONS, - extension_configs=MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS - ) - return md - -Markdown Extensions -................... - -If you wish to extend Markdown functionalities using extensions, you can do so by altering the variables described in -this section. We recommend you read the documentations for the `Markdown package`_, our default Markdown trans-compiler. - -.. attention:: - No Markdown extension is enabled by default. - -Extensions -`````````` -List of Markdown extensions that you would like to use. See below for additional information. -See `available extensions`_ in Markdown docs. For instance, the extension `extra`_ enables features such as -abbreviations, footnotes, tables and so on. - -.. code-block:: python - - MARKDOWNX_MARKDOWN_EXTENSIONS = [ - 'markdown.extensions.extra' - ] - -Extension configurations -```````````````````````` -Configuration object for used markdown extensions. See ``extension_configs`` in `Markdown docs`_. Here is an example: - -.. code-block:: python - - MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS = { - 'extension_name_1': { - 'option_1': 'value_1' - } - } - -Markdown URLs -............. - -Relative URL to which the Markdown text is sent to be encoded as HTML. - -.. code-block:: python - - MARKDOWNX_URLS_PATH = '/markdownx/markdownify/' - -URL that accepts file uploads (images) through an AJAX :guilabel:`POST` request. The request response will contain -markdown formatted markup containing the relative URL for the image. - -.. code-block:: python - - MARKDOWNX_UPLOAD_URLS_PATH = '/markdownx/upload/' - -Media Path -.......... - -The path where the images will be stored in your :guilabel:`MEDIA_ROOT` directory. - -.. code-block:: python - - MARKDOWNX_MEDIA_PATH = 'markdownx/' - -.. tip:: - **Recommended**: Storing all uploaded images in a single directory would over time results in a lot files being - stored in one location. This would slow down the process of saving and loading files substantially, and can in turn - lead to your website becoming very slow when it comes to loading images. To address this issue, it is better to - save the uploads in different directories. Here is an example of how this can be achieved: - - .. code-block:: python - - from datetime import datetime - - MARKDOWNX_MEDIA_PATH = datetime.now().strftime('markdownx/%Y/%m/%d') - - This ensures that uploaded files are stored in a different directory on the basis of the date on which they are - uploaded. So for instance; an image uploaded on the 15th of April 2017 will be stored - under ``media/markdownx/2017/4/15/unique_name.png``. - -Image Uploads -............. -Maximum size -```````````` -Maximum image size allowed in bytes: Default is 50MB, which is equal to 52,428,800 bytes. - -.. code-block:: python - - MARKDOWNX_UPLOAD_MAX_SIZE = 50 * 1024 * 1024 - -.. tip:: - It is considered a good practice to display large numbers in a meaningful way. For instance, 52,438,800 bytes is - better displayed in code as ``= 50 * 1024 * 1024 # 50 MB in bytes`` instead (the comment is also important). - Fellow programmers will thank you for this in the future! - - -Formats -``````` -Image formats that the user is permitted to upload. - -Options are: - -:image/jpeg: Raster graphic JPEG (JPG) images (lossy - with compression). -:image/png: Raster graphic PNG image (lossless - high quality, no compression). -:image/svg+xml: Vector graphic SVG images (scalable and resolution independent, no compression). - -.. code-block:: python - - MARKDOWNX_UPLOAD_CONTENT_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml'] - - -Dimension and Quality -````````````````````` -Different options describing final image processing; e.g. dimension and quality. - -.. Note:: - Quality restrictions do not apply to ``image/svg+xml`` formatted graphics. - -Options are: - -:size: (width, height) - When one of the dimensions is set to zero, e.g. ``(500, 0)``, the height is calculated - automatically so as to keep the dimensions intact. -:quality: default: `90` – image quality from `0` (full compression) to `100` (no compression). -:crop: default: `False` – if **True**, the `size` is used to crop the image. -:upscale: default: `False` – if image dimensions are smaller than those in defined in `size`, upscale to `size` - dimensions. - - -.. code-block:: python - - MARKDOWNX_IMAGE_MAX_SIZE = { - 'size': (500, 500), - 'quality': 90 - } - -Security -........ -SVG graphics are in essence XML files formatted in a specific way; which means that they can contain JavaScript codes. -This introduces a potential front-end security vulnerability for prospective users who will see the SVG image in -context; e.g. it may be employed to collect the user's IP address or other personal information. - -.. Note:: - This type of attack is known as `XSS (Cross-site Scripting) attack`_. See this presentation_ - by Mario Heiderich to learn more on SVG XSS attacks. There are a number of ways to deal with this vulnerability. - - Django is great at security, and provides very good protection against XSS attacks (see the Django documentations_ - for additional information) providing the `CSRF protection middleware`_ is enabled. When it comes to AJAX requests, - however, CSRF protection may sometimes be disabled for various reasons. - - -As a last resort, however, we have included an *optional* integrity check against JavaScript tags for SVG -formatted files just in case everything else is disabled. This protection is enabled by default, and may be disabled -by setting the value to ``False`` if so is desired. - -.. code-block:: python - - MARKDOWNX_SVG_JAVASCRIPT_PROTECTION = True - - -.. Important:: - **MarkdownX** does *not* disable CSRF protection by default, and requires the token for all AJAX request. - - -Editor -...... - -Change the editor's height to match the height of the inner contents whilst typing: - -.. code-block:: python - - MARKDOWNX_EDITOR_RESIZABLE = True - - -Latency -....... - -**Advanced**: When the value of a **MarkdownX** editor is changed, a call is made to the server to trans-compile -Markdown into HTML. However, a minimum latency of **500 milliseconds** has been imposed between the calls. This is to -prevent the bombardment of the server with a huge number of HTTP requests (you don't want to DDoS your own server). -This latency maintains a balance between responsiveness and protection, and is well-suited for medium traffic. -Nonetheless, if your website enjoys a particularly high traffic, you may wish to alter this value slightly depending on -the number of CPUs, the amount memory, and how much you are willing to compromise on responsiveness. - -.. code-block:: python - - MARKDOWNX_SERVER_CALL_LATENCY = 500 # milliseconds - - -.. Attention:: - Any values below 500 milliseconds is silently ignored and replaced. - - -.. _available extensions: https://pythonhosted.org/Markdown/extensions/index.html#officially-supported-extensions -.. _Markdown docs: https://pythonhosted.org/Markdown/reference.html#markdown -.. _extra: https://pythonhosted.org/Markdown/extensions/extra.html -.. _Markdown package: https://pythonhosted.org/Markdown/ -.. _XSS (Cross-site Scripting) attack: https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) -.. _presentation: https://www.owasp.org/images/0/03/Mario_Heiderich_OWASP_Sweden_The_image_that_called_me.pdf -.. _documentations: https://docs.djangoproject.com/en/dev/topics/security/#cross-site-scripting-xss-protection -.. _CSRF protection middleware: https://docs.djangoproject.com/en/dev/ref/middleware/#module-django.middleware.csrf -.. _change the renderer: https://docs.djangoproject.com/en/1.11/ref/forms/renderers/#overriding-built-in-widget-templates diff --git a/docs-src/example.md b/docs-src/example.md new file mode 100644 index 0000000..40923f9 --- /dev/null +++ b/docs-src/example.md @@ -0,0 +1,67 @@ +# Example + +Have you: + +- successfully [installed MarkdownX](installation.md)? +- followed the instructions on how to [get started](getting_started.md)? + +If so, you are set for the next step. Here you can find comprehensive examples of how to use different MarkdownX +features to your advantage. + + +## Model + +This is how you implement a MarkdownX field in your models. In your `app/models.py`: + +```python +from markdownx.models import MarkdownxField + +class MyModel(models.Model): + myfield = MarkdownxField() +``` + +... and then, include the form media in the relevant template using ``{{ form.media }}``, like so: + +```html +
{% csrf_token %} + {{ form }} +
+ +{{ form.media }} +``` + +!!! note + The field extends Django's own [TextField](https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.TextField) and is saved in the database accordingly. + +## Form + +You can also implement MarkdownX through the forms. This will be done in your `app/forms.py` as follows: + +```python +from markdownx.fields import MarkdownxFormField + +class MyForm(forms.Form): + myfield = MarkdownxFormField() +``` + +... and then, include a form's required media in the template using ``{{ form.media }}``: + +```html +
{% csrf_token %} + {{ form }} +
+ +{{ form.media }} +``` + +## Django Admin + +When using included ``MarkdowxModel`` class in your models, just use ``MarkdownxModelAdmin`` in your `app/admin.py` as follows: + +```python +from django.contrib import admin +from markdownx.admin import MarkdownxModelAdmin +from .models import MyModel + +admin.site.register(MyModel, MarkdownxModelAdmin) +``` diff --git a/docs-src/example.rst b/docs-src/example.rst deleted file mode 100644 index 378900f..0000000 --- a/docs-src/example.rst +++ /dev/null @@ -1,80 +0,0 @@ -Example -======= - -Have you: - -- successfully :doc:`installed MarkdownX`? - -- followed the instructions on how to :doc:`get started`? - -If so, you are set for the next step. Here you can find comprehensive examples of how to use different **MarkdownX** -features to your advantage. - -Model ------ - -This is how you implement a **MarkdownX** field in your models. In your :guilabel:`app/models.py`: - -.. code-block:: python - :linenos: - - from markdownx.models import MarkdownxField - - class MyModel(models.Model): - myfield = MarkdownxField() - -... and then, include the form media in the relevant template using ``{{ form.media }}``, like so: - -.. code-block:: html - -
{% csrf_token %} - {{ form }} -
- - {{ form.media }} - -.. note:: - The field extends Django's own TextField_ and is saved in the database accordingly. - -Form ----- -You can also implement **MarkdownX** through the forms. This will be done in your :guilabel:`app/forms.py` as follows: - -.. code-block:: python - :linenos: - - from markdownx.fields import MarkdownxFormField - - class MyForm(forms.Form): - myfield = MarkdownxFormField() - - -... and then, include a form's required media in the template using ``{{ form.media }}``: - -.. code-block:: html - -
{% csrf_token %} - {{ form }} -
- - {{ form.media }} - - -Django Admin ------------- -When using included ``MarkdowxModel`` class in your models, just use ``MarkdownxModelAdmin`` in -your :guilabel:`app/admin.py` as follows: - -.. code-block:: python - :linenos: - - from django.contrib import admin - from markdownx.admin import MarkdownxModelAdmin - from .models import MyModel - - - admin.site.register(MyModel, MarkdownxModelAdmin) - - - -.. _TextField: https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.TextField \ No newline at end of file diff --git a/docs-src/getting_started.md b/docs-src/getting_started.md new file mode 100644 index 0000000..d67c584 --- /dev/null +++ b/docs-src/getting_started.md @@ -0,0 +1,41 @@ +# Getting Started + +First and foremost, add ``markdownx`` to the list of ``INSTALLED_APPS`` in `settings.py`. + +```python +INSTALLED_APPS = ( + # [...] + 'markdownx', +) +``` + +You may alter default behaviours by adding and changing relevant variables in your settings. See [customization](customization.md) for additional information. + +Add MarkdownX URL patterns to your `urls.py`. You can do this using either of these methods depending on your style: + +```python +urlpatterns = [ + # [...] + url(r'^markdownx/', include('markdownx.urls')), +] +``` + +or alternatively: + +```python +from django.conf.urls import url, include +from markdownx import urls as markdownx + +urlpatterns += [ + url(r'^markdownx/', include(markdownx)) +] +``` + +!!! caution + Don't forget to collect MarkdownX assets to your `STATIC_ROOT`. To do this, run: + + ```python + python3 manage.py collectstatic + ``` + + Replace ``python3`` with the your interpreter of choice. diff --git a/docs-src/getting_started.rst b/docs-src/getting_started.rst deleted file mode 100644 index 0a448b3..0000000 --- a/docs-src/getting_started.rst +++ /dev/null @@ -1,48 +0,0 @@ -Getting Started -=============== - -1. First and foremost, add ``markdownx`` to the list of ``INSTALLED_APPS`` in :guilabel:`settings.py`. - -.. code-block:: python - - INSTALLED_APPS = ( - # [...] - 'markdownx', - ) - - -You may alter default behaviours by adding and changing relevant variables in your settings. See -:doc:`customization ` for additional information. - -2. Add MarkdownX URL patterns to your :guilabel:`urls.py`. - -You can do this using either of these methods depending on your style: - -.. code-block:: python - - urlpatterns = [ - [...] - url(r'^markdownx/', include('markdownx.urls')), - ] - -or alternatively: - -.. code-block:: python - :linenos: - - from django.conf.urls import url, include - from markdownx import urls as markdownx - - urlpatterns += [ - url(r'^markdownx/', include(markdownx)) - ] - - -.. Important:: - Don't forget to collect MarkdownX assets to your :guilabel:`STATIC_ROOT`. To do this, run: - - .. code-block:: bash - - python3 manage.py collectstatic - - Replace ``python3`` with the your interpreter of choice. \ No newline at end of file diff --git a/docs-src/index.md b/docs-src/index.md new file mode 100644 index 0000000..5f44187 --- /dev/null +++ b/docs-src/index.md @@ -0,0 +1,31 @@ +# Django MarkdownX + +![](https://img.shields.io/pypi/v/django-markdownx.svg) +![](https://img.shields.io/pypi/status/django-markdownx.svg) +![](https://img.shields.io/travis/neutronX/django-markdownx.svg) +![](https://img.shields.io/pypi/pyversions/django-markdownx.svg) +![](https://img.shields.io/badge/Django-1.8%20...%202.1-green.svg) +![](https://img.shields.io/pypi/l/django-markdownx.svg) + +Django MarkdownX is a comprehensive [Markdown](https://en.wikipedia.org/wiki/Markdown) plugin built for [Django](https://www.djangoproject.com), the renowned high-level Python web framework, with flexibility, extensibility, and ease-of-use at its core. + +**GitHub:** [https://github.com/neutronX/django-markdownx](https://github.com/neutronX/django-markdownx)
+**PyPi:** [https://pypi.org/project/django-markdownx/](https://pypi.org/project/django-markdownx/) + +## Key features + +* Raw editing. +* Live preview. +* Drag & drop image uploads (automatically stored in the designated location in the *Media* directory). +* Customizable image insertion tag. +* Definition of maximum size for an image. +* Definition of acceptable image formats (PNG, JPEG, SVG). +* Image manipulations (compression, size reduction, cropping, upscaling). +* Pre- and post- text modification. +* Easy template customization, layout modification, and personalization. +* Multiple editors per page. +* Django Admin support. + +## Preview + +![django-markdownx preview](https://github.com/neutronX/django-markdownx/raw/master/django-markdownx-preview.gif?raw=true) diff --git a/docs-src/index.rst b/docs-src/index.rst deleted file mode 100644 index 52aed6b..0000000 --- a/docs-src/index.rst +++ /dev/null @@ -1,38 +0,0 @@ -.. Django Markdownx documentation master file, created by - sphinx-quickstart on Fri Mar 10 22:41:38 2017. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -:github_url: https://github.com/adi-/django-markdownx - -.. automodule:: markdownx - -Contents --------- -.. toctree:: - :maxdepth: 2 - :glob: - - installation - getting_started - example - customization - translation - js/js - markdownx/markdownx - contribution - license - -* :ref:`modindex` -* :ref:`genindex` -* :ref:`search` - ------------- - -Acknowledgements ----------------- -We acknowledge and appreciate every contribution made towards improving **Django MarkdownX**, a list of which can be -found on our `GitHub `_. - -**Django MarkdownX** was inspired by the great `Django Images `_ and -`Django Bootstrap Markdown `_ packages. diff --git a/docs-src/installation.md b/docs-src/installation.md new file mode 100644 index 0000000..939c9fd --- /dev/null +++ b/docs-src/installation.md @@ -0,0 +1,33 @@ +# Installation + +## Using PIP + +Django MarkdownX may be installed directly using Python Package Index (PyPi): + +```bash +python3 -m pip install django-markdownx +``` + +## From the source + +Should you wish to download and install it using the source code, you can do as follows: + +!!! note + Make sure you have activated your virtual environment if you’re using one. + +We start off by downloading the source code from GitHub and navigate to the downloaded directory: + +```bash +git clone https://github.com/adi-/django-markdownx.git +cd django-markdownx/ +``` + +Install the package. + +```bash +python3 setup.py install +``` + +!!! tip + You can replace ``python3`` with ``python`` or any of ![](https://img.shields.io/pypi/pyversions/django-markdownx.svg) if + you have multiple versions installed on your machine: diff --git a/docs-src/installation.rst b/docs-src/installation.rst deleted file mode 100644 index 1a3e1f8..0000000 --- a/docs-src/installation.rst +++ /dev/null @@ -1,39 +0,0 @@ -Installation -============ -Using PIP ---------- -Django MarkdownX may be installed directly using Python Package Index (PyPi): - -.. code-block:: bash - - python3 -m pip install django-markdownx - - -From the source ---------------- -Should you wish to download and install it using the source code, you can do as follows: - -.. Note:: - Make sure you have activated your virtual environment if you're using one. - -We start off by downloading the source code from GitHub and navigate to the downloaded directory: - -.. code-block:: bash - - git clone https://github.com/adi-/django-markdownx.git - cd django-markdownx/ - - -Install the package. - -.. code-block:: bash - - python3 setup.py install - - -.. Tip:: - You can replace ``python3`` with ``python`` or any of |Supported_versions_of_Python| if - you have multiple versions installed on your machine: - - -.. |Supported_versions_of_Python| image:: https://img.shields.io/pypi/pyversions/django-markdownx.svg diff --git a/docs-src/javascript.md b/docs-src/javascript.md new file mode 100644 index 0000000..a74ed54 --- /dev/null +++ b/docs-src/javascript.md @@ -0,0 +1,69 @@ +# JavaScript + +## Events + +Some MarkdownX processes trigger events that may be utilized for different purposes. To handle such events in JavaScript, you may take advantage of event listeners as exemplified below: + +- [`markdownx.init`](#markdownxinit) +- [`markdownx.update`](#markdownxupdate) +- [`markdownx.updateError`](#markdownxupdateerror) +- [`markdownx.markdownx.fileUploadBegin`](#markdownxmarkdownxfileuploadbegin) +- [`markdownx.fileUploadEnd`](#markdownxfileuploadend) +- [`markdownx.fileUploadError`](#markdownxfileuploaderror) + + +### `markdownx.init` + +Triggered after jQuery plugin init. `markdownx.init` is an event that does *not* return a response. + +JavaScript ECMA 2015+: + +```javascript +let element = document.getElementsByClassName('markdownx'); + +Object.keys(element).map(key => + + element[key].addEventListener('markdownx.init', () => console.log("MarkdownX initialized.")) + +); +``` + +### `markdownx.update` + +Triggered when editor text is markdownified. Returns: **response** (*string*) variable containing markdownified text. + +JavaScript ECMA 2015+: + +```javascript +let element = document.getElementsByClassName('markdownx'); + +Object.keys(element).map(key => + + element[key].addEventListener('markdownx.update', event => console.log(event.detail)) + +); +``` + +### `markdownx.updateError` + +Triggered when a problem occurred during markdownify. + +### `markdownx.markdownx.fileUploadBegin` + +Triggered when the file is posted. + +### `markdownx.fileUploadEnd` + +Triggered when the file has been uploaded. + +### `markdownx.fileUploadError` + +Triggered if the upload didn’t work. + +## Compatibility + +We rely on JavaScript to handle front-end events (e.g. trans-compilation of Markdown to HTML, uploading image). + +MarkdownX's JavaScript code is written in TypeScript using Pure JavaScript and under ECMA 2016 standard. + +Currently, the code is trans-compiled into ECMA 5 (approved in 2011) to provide support for older browsers, specifically IE 10+. See additional detailed on [browser compatibilities](https://kangax.github.io/compat-table/es5/). diff --git a/docs-src/js/docs.rst b/docs-src/js/docs.rst deleted file mode 100644 index 0c78b70..0000000 --- a/docs-src/js/docs.rst +++ /dev/null @@ -1,10 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/static/markdownx/js - -JavaScript Code -=============== - -.. toctree:: - :maxdepth: 2 - :glob: - - docs/* diff --git a/docs-src/js/docs/markdownx.rst b/docs-src/js/docs/markdownx.rst deleted file mode 100644 index c96fa4f..0000000 --- a/docs-src/js/docs/markdownx.rst +++ /dev/null @@ -1,258 +0,0 @@ -MarkdownX -========= - -Frontend (JavaScript) management of Django-MarkdownX package. - -Written in JavaScript ECMA 2016, trans-compiled to ECMA 5 (2011). - -:Requirements: - - Modern browser with support for HTML5 and ECMA 2011+ (IE 10+). Older browsers would work but some features may be - missing. - - TypeScript 2+ - -JavaScript ECMA 5 files formatted as ``.js`` or ``.min.js`` are trans-compiled files. Please do not modify such files as -all changes will be lost. To contribute, please edit ``static-src/markdownx/js/markdownx.ts``. See -:doc:`contributions<../../contribution>` in the documentations for additional instructions. - -.. note:: Typescript type definitions of this module are defined in ``static-src/markdownx/js/types.ts``. - ----- - -.. js:data:: GeneralEventHandlers - - :JSON Object: General (document level) event handlers. - - .. js:function:: inhibitDefault(event) - - Routine tasks for event handlers (e.g. default preventions). - - :param Event|KeyboardEvent event: The events to be inhibited. - :returns: event - :return type: Event - - .. js:function:: onDragEnter (event) - - Upon enter (when a file, e.g. an image, is dragged into the browser), - the defualt events are inhibited, and the drop event is set as `copy`. - - :param DragEvent event: Drag event. - :returns: Inhibited drag event with `copy` added to the drop event. - :return type: Event - - -.. js:data:: keyboardEvents - - :JSON Object: Keyboard events and their handlers. - - .. js:data:: keys - - :JSON Object: Custom hotkeys. - - .. js:attribute:: TAB - - - (*string*) - represents: ``Tab`` - - .. js:attribute:: DUPLICATE - - - (*string*) - represents: ``d`` - - .. js:attribute:: UNINDENT - - - (*string*) - represents: ``[`` - - .. js:attribute:: INDENT - - - (*string*) - represents: ``]`` - - .. js:function:: hub(event) - - Mapping of hotkeys from keyboard events to their corresponding functions. - - :param KeyboardEvent event: Keyboard event to be handled. - :return type: Function | Boolean - - .. js:data:: Handlers - - Handler functions, as mapped by :js:func:`hub`. - - :JSON Object: Hotkey response functions. - - .. note:: - Properties receive a single argument ``properties``, which is an instance of :js:data:`properties`. See the - ``markdownx`` class for additional details. - - .. js:function:: applyTab(properties) - - Smart application of tab indentations under various conditions. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: removeTab(properties) - - Smart removal of tab indentations. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: _multiLineIndentation(properties) - - **private** - - Handles multi line indentations. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: applyIndentation(properties) - - Smart application of indentation at the beginning of the line. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: removeIndentation(properties) - - Smart removal of indentation from the beginning of the line. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: applyDuplication(properties) - - Duplication of the current or selected lines. - - :param JSON properties: See object descriptions for details. - :return type: string - - -.. js:function:: getHeight(element) - - Returns either the height of an element as defined in the ``style`` attribute or CSS or its browser-computed height. - - :param element HTMLElement: The element whose height is to be determined. - :returns: Height of the element. - :return type: number - - -.. js:function:: updateHeight(element) - - Updates the height of an element based on its scroll height. - - :param HTMLTextAreaElement editor: Editor element whose height is to be updated. - :return type: HTMLTextAreaElement - - -.. js:class:: MarkdownX(editor, preview) - - MarkdownX initializer. - - :example: - .. code-block:: javascript - - >>> let parent = document.getElementsByClassName('markdownx'), - ... editor = parent.querySelector('.MyMarkdownEditor'), - ... preview = parent.querySelector('.MyMarkdownPreview'); - - >>> let mdx = new MarkdownX(parent, editor, preview) - - :param HTMLElement parent: Markdown editor element. - :param HTMLTextAreaElement editor: Markdown editor element. - :param HTMLElement preview: Markdown preview element. - - .. js:data:: properties - - :JSON Object: Class variables. - - .. js:attribute:: editor - - - (*HTMLTextAreaElement*) - Instance editor. - - .. js:attribute:: preview - - - (*HMTLElement*) - Instance preview. - - .. js:attribute:: parent - - - (*HMTLElement*) - Instance parent. - - .. js:attribute:: _latency - - **private** - - - (*number* | *null*) - Private property; timeout settings. - - .. js:attribute:: _editorIsResizable - - **private** - - - (*Boolean*) - Private property; ``true`` if instance editor is resizable, otherwise ``false``. - - .. js:function:: _markdownify() - - **private** - - Settings for ``timeout``. - - .. js:function:: _routineEventResponse(event) - - **private** - - Routine tasks for event handlers (e.g. default preventions). - - :param Event event: Event to be handled. - - .. js:function:: getEditorHeight(editor) - - :param HTMLTextAreaElement editor: Markdown editor element. - :returns: The editor's height in pixels; e.g. ``"150px"``. - :return type: string - - .. js:function:: inputChanged() - - Event handlers in response to alterations in the instance editor. - - :param Event event: Event to be handled. - - .. js:function:: onDragEnter(event) - - Event handler for :guilabel:`dragEnter` events. - - :param Event event: Event to be handled. - - .. js:function:: onDragLeave(event) - - Event handler for :guilabel:`dragLeave` events. - - :param Event event: Event to be handled. - - .. js:function:: onDrop(event) - - Event handler for :guilabel:`drop` events (in drag and drops). - - :param Event event: Event to be handled. - - .. js:function:: onKeyDown(event) - - Event handler for :guilabel:`keyDown` events as registered in the instance editor. - - :param Event event: Event to be handled. - :returns: ``null`` if the key pressed is *Tab* (ASCII #9) else ``false``. - :return type: boolean | null - - .. js:function:: sendFile(file) - - Uploading the ``file`` onto the server through an AJAX request. - - :param File file: File to be uploaded. - - .. js:function:: getMarkdown() - - Uploading the markdown text from :attr:`properties.editor` onto the server through an AJAX request, and upon - receiving the HTML encoded text in response, the response will be displayed in :attr:`properties.preview`. - - .. js:function:: insertImage(textToInsert) - - Inserts markdown encoded image URL into :attr:`properties.editor` where the cursor is located. - - :param string textToInsert: Markdown text (with path to the image) to be inserted into the editor. diff --git a/docs-src/js/docs/utils.rst b/docs-src/js/docs/utils.rst deleted file mode 100644 index 1b3fb69..0000000 --- a/docs-src/js/docs/utils.rst +++ /dev/null @@ -1,246 +0,0 @@ -Utilities -========= - -This module contains various, individually documented tools for front-end software development using JavaScript. The -original code is implemented in TypeScript 2, and follows the ECMA 2016 standards and protocols. - -JavaScript ECMA 5 files formatted as ``.js`` or ``.min.js`` are trans-compiled files. Please do not modify such files as -all changes will be lost. To contribute, please edit ``static-src/markdownx/js/utils.ts``. See -:doc:`contributions<../../contribution>` in the documentations for additional instructions. - -.. note:: Typescript type definitions of this module are defined in ``static-src/markdownx/js/types.ts``. - ----- - -.. js:function:: getCookie(name) - - Looks for a cookie, and if found, returns the values. - - .. Note:: - - Only the first item in the array is returned to eliminate the need for array deconstruction - in the target. - - .. Attention:: - - The function catches the **TypeError** and returns ``null`` if the ``name`` provided for the cookie is not - found. A notification is then provided in the console to inform the developer that the requested cookie does - not exist. - - :param string name: The name of the cookie. - :returns: Value of the cookie with the key ``name`` or ``null``. - :return type: string | null - - -.. js:function:: zip(...rows) - - JavaScript implementation of Python's ``zip`` function. - - :param rows: Array or arrays to zipped together. - :returns: Array of zipped items. - :return type: Array[] - - :example: - .. code-block:: javascript - - >>> let zipped = zip([1, 'H'], [5, 'i']); - - >>> zipped.map(row => row.reduce((m, n) => m + n)) - // [6, "Hi"] - - -.. js:function:: mountEvents (...collections) - - Mounts a set of events defined in an object onto the document. - - :param collections: Must be JSON object and follow the structure outlined in the example. - :returns: Listeners - :return type: Event - - :example: - .. code-block:: javascript - - >>> let editorListeners = { - ... object: document.getElementById('my-editor'), - ... listeners: [ - ... { type: "input", capture: true , listener: inputChanged }, - ... { type: "compositionstart", capture: true , listener: onKeyDown } - ... ] - ... }; - - -.. js:function:: triggerEvent(element, type) - - Triggers an existing HTML event manually. - - :param Element element: Element whose event is to be created and triggered. - :param string type: Type of the event to be triggered. - - -.. js:function:: triggerCustomEvent(type, element, args) - - Triggers an already defined custom event manually. - - :param Element|Document element: Element whose event is to be triggered. - :param string type: Type of the event to be triggered. - :param args: Values to be passed as custom argument to ``event.details``. (Default = ``null``) - - -.. js:function:: preparePostData(data) - - Creates a new instance of **FormData** to be used in AJAX calls. - - :param Object data: Data to be embedded in the form in **JSON** format, where the *key* is the name/ID of the field - whose values are to be altered/created and corresponds to ``dict`` keys in Django - ``request.POST``. - - :param Boolean csrf: If ``true``, includes the CSRF token (under the name ``csrfmiddlewaretoken``) in the form. - Default is ``true``. - - :returns: A new instance **FormData** that incorporated the data embedded in ``data`` and the CSRF token if enabled. - :return type: FormData - - -.. js:function:: AJAXRequest() - - Determines the supported AJAX requests API in IE6+ browsers. - - :return type: XMLHttpRequest - :throws TypeError: AJAX request is not supported. - - -.. js:class:: Request(url, data) - - An XMLHttpRequest wrapper object to initialize AJAX POST requests. - - :example: - .. code-block:: javascript - - >>> let value = "This is a test value", - postUrl = "https://example.com/"; - - >>> const xhr = new utils.Request( - ... postUrl, // URL - ... preparePostData({content: value}) // Data - ... ); - - >>> xhr.success = response => console.log(response); - - >>> xhr.error = response => console.error(response); - - >>> xhr.progress = event => { - ... - ... if (event.lengthComputable) - ... console.info(`${(event.loaded / event.total) * 100}% uploaded.`) - ... - ... }; - - >>> xhr.send(); - - .. js:attribute:: url - - - (*string*) - URL to which the data is to be posted. - - .. js:attribute:: data - - - (*FormData*) - Data, as an instance of `FromData`, to be posted. - - .. js:attribute:: xhr - - **private** - - - (*any*) - Value obtained automatically by calling :js:func:`AjaxRequest`. - - .. js:function:: constructor(url, data) - - :param string url: URL to which the data is to be posted. - :param FormData data: Data, as an instance of `FromData`, to be posted. - - .. js:function:: progress(event) - - Progress callback. - - :param Event event: The entire event (see the example for additional information on usage). - - .. js:function:: success(response) - - Success callback. - - :param any response: Success values; first available one of ``responseText``, ``responseXML``, or ``response``. - - .. js:function:: error(response) - - Error callback. - - :param any response: Error value: ``responseText``. - - .. js:function:: send() - - Starts the transfer. - - -.. js:function:: addClass(element, ...classNames) - - Given an instance of an element, adds classes to it. - - :param Element element: Instance of an element. - :param string[] classNames: Can be a single string, or multiple strings. - - :example: - .. code-block:: javascript - - >>> addClass(document.getElementById('my-element'), 'className'); - - // or - - >>> addClass(document.getElementById('my-element'), 'classA', 'classB', 'classC'); - - -.. js:function:: hasClass(element, className) - - Given an instance of an element, confirms whether or not the element has the class. - - :param Element element: Instance of an element. - :param string[] className: Can be a single string, or multiple strings. - :returns: ``true`` if the element has the class, otherwise ``false``. - :return type: boolean - :example: - .. code-block:: javascript - - >>> hasClass(document.getElementById('my-element'), 'className') - // returns True if the element with id "my-element" has the class "className", otherwise False. - - -.. js:function:: removeClass(element, ...classNames) - - Given an instance of an element, removes classes to it. - - :param Element element: Instance of an element. - :param string[] classNames: Can be a single string, or multiple strings. - :example: - .. code-block:: javascript - - >>> removeClass(document.getElementById('my-element'), 'className'); - - // or - - >>> removeClass(document.getElementById('my-element'), 'classA', 'classB', 'classC'); - ----- - -**MIT Software License** - -:Copyright 2017: Pouria Hadjibagheri - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs-src/js/events.rst b/docs-src/js/events.rst deleted file mode 100644 index 448cdb8..0000000 --- a/docs-src/js/events.rst +++ /dev/null @@ -1,71 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/static/markdownx/js - - -Events -====== - -Some **MarkdownX** processes trigger events that may be utilized for different purposes. To handle such events in -JavaScript, you may take advantage of event listeners as exemplified below. - ----- - -Quick Reference ---------------- - -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Event | JavaScript handler | Description | -+=====================+=========================================+=======================================================+ -| Initialization | ``markdownx.init`` | Triggered after jQuery plugin init. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Update | ``markdownx.update`` | Triggered when editor text is markdownified. | -| | | | -| | | Returns: **response** (*string*) | -| | | variable containing markdownified text. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Update error | ``markdownx.updateError`` | Triggered when a problem occurred during markdownify. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Beginning to upload | ``markdownx.markdownx.fileUploadBegin`` | Triggered when the file is posted. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| File upload end | ``markdownx.fileUploadEnd`` | Triggered when the file has been uploaded. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| File upload error | ``markdownx.fileUploadError`` | Triggered if the upload didn't work. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ - - ----- - -Examples --------- - -Initialization - ``markdownx.init`` is an event that does *not* return a response. - -JavaScript ECMA 2015+: - -.. code-block:: javascript - :linenos: - - let element = document.getElementsByClassName('markdownx'); - - Object.keys(element).map(key => - - element[key].addEventListener('markdownx.init', () => console.log("MarkdownX initialized.")) - - ); - - -Update - ``markdownx.update`` is an event that returns a response. - -JavaScript ECMA 2015+: - -.. code-block:: javascript - :linenos: - - let element = document.getElementsByClassName('markdownx'); - - Object.keys(element).map(key => - - element[key].addEventListener('markdownx.update', event => console.log(event.detail)) - - ); diff --git a/docs-src/js/js.rst b/docs-src/js/js.rst deleted file mode 100644 index 474bc97..0000000 --- a/docs-src/js/js.rst +++ /dev/null @@ -1,22 +0,0 @@ -JavaScript -========== - -.. toctree:: - :maxdepth: 2 - :glob: - - * - ----- - -Compatibility -------------- - -We rely on JavaScript to handle front-end events (e.g. trans-compilation of Markdown to HTML, uploading image). - -**MarkdownX** JavaScript code is written in TypeScript using Pure JavaScript and under ECMA 2016 standard. -Currently, the code is trans-compiled into ECMA 5 (approved in 2011) to provide support for older browsers, -specifically IE 10+. See additional detailed on `browser compatibilities`_. - - -.. _browser compatibilities: https://kangax.github.io/compat-table/es5/ \ No newline at end of file diff --git a/docs-src/license.rst b/docs-src/license.md similarity index 82% rename from docs-src/license.rst rename to docs-src/license.md index 31a7a3d..959f7fa 100644 --- a/docs-src/license.rst +++ b/docs-src/license.md @@ -1,14 +1,6 @@ -License -------- - -MarkdownX is licensed under the `2-clause BSD `_ -license, and Open Source Initiative approved license. - - -.. image:: _static/osi.png - :alt: Open Source Initiative (OSI) Logo - :align: center +# License +MarkdownX is licensed under the [2-clause BSD](https://opensource.org/licenses/BSD-2-Clause) license, and Open Source Initiative approved license. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/docs-src/markdownx/docs/admins.rst b/docs-src/markdownx/docs/admins.rst deleted file mode 100644 index a9118fb..0000000 --- a/docs-src/markdownx/docs/admins.rst +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/admin.py - -Admin ------ -.. automodule:: markdownx.admin - :members: diff --git a/docs-src/markdownx/docs/exceptions.rst b/docs-src/markdownx/docs/exceptions.rst deleted file mode 100644 index d4e3cc0..0000000 --- a/docs-src/markdownx/docs/exceptions.rst +++ /dev/null @@ -1,7 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/exceptions.py - - -Exceptions ----------- -.. automodule:: markdownx.exceptions - :members: \ No newline at end of file diff --git a/docs-src/markdownx/docs/fields.rst b/docs-src/markdownx/docs/fields.rst deleted file mode 100644 index 3502dfc..0000000 --- a/docs-src/markdownx/docs/fields.rst +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/fields.py - -Fields ------- -.. automodule:: markdownx.fields - :members: diff --git a/docs-src/markdownx/docs/forms.rst b/docs-src/markdownx/docs/forms.rst deleted file mode 100644 index 5f82bfc..0000000 --- a/docs-src/markdownx/docs/forms.rst +++ /dev/null @@ -1,9 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/forms.py - - -Form ----- - -.. automodule:: markdownx.forms - :members: - diff --git a/docs-src/markdownx/docs/models.rst b/docs-src/markdownx/docs/models.rst deleted file mode 100644 index e44c80f..0000000 --- a/docs-src/markdownx/docs/models.rst +++ /dev/null @@ -1,8 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/models.py - - -Models ------- - -.. automodule:: markdownx.models - :members: \ No newline at end of file diff --git a/docs-src/markdownx/docs/urls.rst b/docs-src/markdownx/docs/urls.rst deleted file mode 100644 index efad936..0000000 --- a/docs-src/markdownx/docs/urls.rst +++ /dev/null @@ -1,16 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/urls.py - -URLs ----- - -.. automodule:: markdownx.urls - - - -.. tip:: - All **MarkdownX** URLs patterns have unique names that start with ``markdownx_`` and are followed by a specific - name; for instance, the `upload` link has the name :guilabel:`markdownx_upload`. It is still possible to use - the ``namespace`` attribute (see `Django docs`_ to find out more) when including the patterns in your project. - - -.. _Django docs: https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces \ No newline at end of file diff --git a/docs-src/markdownx/docs/utilities.rst b/docs-src/markdownx/docs/utilities.rst deleted file mode 100644 index 594b369..0000000 --- a/docs-src/markdownx/docs/utilities.rst +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/utils.py - -Utilities ---------- -.. automodule:: markdownx.utils - :members: diff --git a/docs-src/markdownx/docs/views.rst b/docs-src/markdownx/docs/views.rst deleted file mode 100644 index ec1d737..0000000 --- a/docs-src/markdownx/docs/views.rst +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/views.py - -Views ------ -.. automodule:: markdownx.views - :members: diff --git a/docs-src/markdownx/markdownx.rst b/docs-src/markdownx/markdownx.rst deleted file mode 100644 index cf4e8f8..0000000 --- a/docs-src/markdownx/markdownx.rst +++ /dev/null @@ -1,8 +0,0 @@ -MarkdownX Modules ------------------ - -.. toctree:: - :maxdepth: 2 - :glob: - - docs/* \ No newline at end of file diff --git a/docs-src/requirements.txt b/docs-src/requirements.txt index 39ec44f..2d0d5aa 100644 --- a/docs-src/requirements.txt +++ b/docs-src/requirements.txt @@ -1,3 +1,2 @@ -sphinx -sphinx-classy-code -sphinxcontrib-autoanysrc \ No newline at end of file +mkdocs +pymdown-extensions diff --git a/docs-src/translation.rst b/docs-src/translation.rst deleted file mode 100644 index cbff4a8..0000000 --- a/docs-src/translation.rst +++ /dev/null @@ -1,31 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/locale - -Translation -=========== - -Django's strength is in its global community. Similarly, **MarkdownX** developers come from across the world too. We are -therefore commit to make the plugin as inclusive as possible. To this end, we provide translation of all messages -produced by **MarkdownX** to various languages. - - -Current languages ------------------ - -- English -- Polish (Polski) -- German (Deutsch) -- French (Français) -- Persian (فارسی) -- Dutch (Nederlands) - ----- - -Your language is not included? -`````````````````````````````` - -Wanna contribute? - Why not help us with the translation of messages? It's not really that long. - - -Even more? - Help us translate the documentations. \ No newline at end of file diff --git a/docs-src/translations.md b/docs-src/translations.md new file mode 100644 index 0000000..cd00731 --- /dev/null +++ b/docs-src/translations.md @@ -0,0 +1,22 @@ +# Translations + +Django's strength is in its global community. Similarly, MarkdownX developers come from across the world too. We are therefore commit to make the plugin as inclusive as possible. To this end, we provide translation of all messages produced by MarkdownX to various languages. + +## Current languages + +- English +- Polish (Polski) +- German (Deutsch) +- French (Français) +- Persian (فارسی) +- Dutch (Nederlands) + +--- + +### Your language is not included? + +**Wanna contribute?** +Why not help us with the translation of messages? It's not really that long. + +**Even more?** +Help us translate the documentations. diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..75e6cb4 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,163 @@ + + + + + + + + + + + Django Markdownx + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + +
+
+
+
    +
  • Docs »
  • + + +
  • + +
  • +
+
+
+
+
+ + +

404

+ +

Page not found

+ + +
+
+ + +
+
+ +
+ +
+ +
+ + + GitHub + + + + +
+ + + + + + diff --git a/docs/_images/osi.png b/docs/_images/osi.png deleted file mode 100644 index cdf9d9a..0000000 Binary files a/docs/_images/osi.png and /dev/null differ diff --git a/docs/_modules/index.html b/docs/_modules/index.html deleted file mode 100644 index 4a28bd7..0000000 --- a/docs/_modules/index.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - - Overview: module code — Django Markdownx 2.0.21 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - - -
-
- - - - - - - - - - - - - - - - -
- -
    - -
  • Docs »
  • - -
  • Overview: module code
  • - - -
  • - - - -
  • - -
- - -
-
-
- -
- -
-
-
- - -
- -
-

- © Copyright 2017 - Adi, Pouria Hadjibagheri. - -

-
- Built with Sphinx using a theme provided by Read the Docs. - -
- -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/_sources/customization.rst.txt b/docs/_sources/customization.rst.txt deleted file mode 100644 index 1846cc9..0000000 --- a/docs/_sources/customization.rst.txt +++ /dev/null @@ -1,369 +0,0 @@ -Customization -============= - ----- - -General (ex. settings) -********************** - -Templates ---------- - -The default widget is as seen `here -`_. - -If you would like to customise this; for instance, using `Bootstrap `_ to implement -side-by-side panes (as seen in :doc:`preview animation`), you should override the default template by creating -your own template and saving it under ``markdownx/widget2.html`` (Django 1.11+), or ``markdownx/widget.html`` (Django -1.10 and below) in your project's :guilabel:`TEMPLATE_DIRS`. - -.. Note:: - In the case of Django 1.11+, you will need to `change the renderer`_ (Django docs) to ``TemplatesSetting``. - -Here is an example of the contents: - -.. code-block:: html - -
-
- - {{ markdownx_editor }} - - {% include 'django/forms/widgets/textarea.html' %} -
-
-
-
-
- - -Fields ------- - -We have ensured that **MarkdownX** is fully extensible and provides a high degree of flexibility in development. - -There are times that you may wish to Markdownify a different type of field, or utilize your own customized widget. To -accommodate this, we have provided the tools to apply **MarkdownX** infrastructure to other fields through *Widgets*. - -For instance, to apply **MarkdownX** to ``TextField`` instances in your Django Admins, you can override the default -widget in the Admins module in :guilabel:`admin.py` of your Django App as follows: - -.. code-block:: python - :linenos: - - from django.db import models - from django.contrib import admin - - from markdownx.widgets import AdminMarkdownxWidget - - from .models import MyModel - - - class MyModelAdmin(admin.ModelAdmin): - formfield_overrides = { - models.TextField: {'widget': AdminMarkdownxWidget}, - } - - - admin.site.register(MyModel, MyModelAdmin) - - -Image tags ----------- - -Markdown uses ``![]()`` tag by default to insert uploaded image file. This generates a simple (X)HTML ```` tag. -If you wish to have more control and use your own HTML tags, you may create a custom ``form_valid()`` function in -``ImageUploadView`` class, as highlighted `here -`_. - ----- - -Settings -******** - -You may place any of the variables outlined in this page in your :guilabel:`settings.py`, alter their values and -override default behaviours. - -.. attention:: - The focus of this section is on the customisation of features controlled in the **backend**. Additional - customisations, or to be rather more accurate, **event controls** are enabled in the frontend through JavaScript - events. To learn more about these events, see our :doc:`JavaScript documentations on events`. - - -Quick Reference ---------------- - -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| Setting variable | Default Value | Description | -+==========================================+==================================================+========================================================================+ -| ``MARKDOWNX_MARKDOWNIFY_FUNCTION`` | ``'markdownx.utils.markdownify'`` | Markdown to HTML function. | -| | | Takes an argument of type ``str()`` and returns the | -| | | HTML encoded output as ``str()``. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_MARKDOWN_EXTENSIONS`` | Empty ``list()`` | List of ``str()``. Extensions for the Markdown function. | -| | | See `available extensions`_ in Markdown docs. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS`` | Empty ``dict()`` | Dictionary of configurations for extensions. | -| | | See ``extension_configs`` in `Markdown docs`_. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_URLS_PATH`` | ``'/markdownx/markdownify/'`` | Relative URL to which the Markdown text is sent to be encoded as HTML. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_UPLOAD_URLS_PATH`` | ``'/markdownx/upload/'`` | URL that accepts file uploads (images) through AJAX :guilabel:`POST`. | -| | | The request response will contain markdown formatted text with | -| | | relative URL of the image. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_MEDIA_PATH`` | ``'markdownx/'`` | Where images will be stored in :guilabel:`MEDIA_ROOT` folder. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_UPLOAD_MAX_SIZE`` | ``50 * 1024 * 1024`` bytes | Maximum image size allowed. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_UPLOAD_CONTENT_TYPES`` | ``['image/jpeg', 'image/png', 'image/svg+xml']`` | Enable / disable support for different image formats. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_IMAGE_MAX_SIZE`` | ``{ 'size': (500, 500), 'quality': 90 }`` | Maximum image dimension and quality. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_SVG_JAVASCRIPT_PROTECTION`` | ``True`` | Monitoring against JavaScript injection in SVG files. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_EDITOR_RESIZABLE`` | ``True`` | Change editor’s height to match the height of | -| | | the inner contents whilst typing. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ -| ``MARKDOWNX_SERVER_CALL_LATENCY`` | ``500`` miliseconds | Latency (minimum lag) between server calls as ``int``. | -| | | Minimum allowed: 500 milliseconds. | -+------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------+ - -Details and examples --------------------- - -Looking for a specific feature? see the sidebar for the table of contents. - -Markdownify -........... - -Default function that compiles markdown using defined extensions. Using custom function can allow you to -pre-process or post-process markdown text. See below for more info. - -.. code-block:: python - - MARKDOWNX_MARKDOWNIFY_FUNCTION = 'markdownx.utils.markdownify' - -This function uses the `Markdown package`_ for trans-compilation. - -.. Note:: - The function name must be entered as string, and the relevant package must be installed and accessible to the - current interpreter such that it can later be imported as and when needed. So ``markdownx.utils.markdownify`` - essentially means ``from markdownx.utils import markdownify``. - -.. Hint:: - The default function (``markdownx.utils.markdownify``) that handles the trans-compilation of Markdown to HTML looks - like this: - - .. code-block:: python - - from markdown import markdown - - from .settings import ( - MARKDOWNX_MARKDOWN_EXTENSIONS, - MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS - ) - - def markdownify(content): - md = markdown( - text=content, - extensions=MARKDOWNX_MARKDOWN_EXTENSIONS, - extension_configs=MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS - ) - return md - -Markdown Extensions -................... - -If you wish to extend Markdown functionalities using extensions, you can do so by altering the variables described in -this section. We recommend you read the documentations for the `Markdown package`_, our default Markdown trans-compiler. - -.. attention:: - No Markdown extension is enabled by default. - -Extensions -`````````` -List of Markdown extensions that you would like to use. See below for additional information. -See `available extensions`_ in Markdown docs. For instance, the extension `extra`_ enables features such as -abbreviations, footnotes, tables and so on. - -.. code-block:: python - - MARKDOWNX_MARKDOWN_EXTENSIONS = [ - 'markdown.extensions.extra' - ] - -Extension configurations -```````````````````````` -Configuration object for used markdown extensions. See ``extension_configs`` in `Markdown docs`_. Here is an example: - -.. code-block:: python - - MARKDOWNX_MARKDOWN_EXTENSION_CONFIGS = { - 'extension_name_1': { - 'option_1': 'value_1' - } - } - -Markdown URLs -............. - -Relative URL to which the Markdown text is sent to be encoded as HTML. - -.. code-block:: python - - MARKDOWNX_URLS_PATH = '/markdownx/markdownify/' - -URL that accepts file uploads (images) through an AJAX :guilabel:`POST` request. The request response will contain -markdown formatted markup containing the relative URL for the image. - -.. code-block:: python - - MARKDOWNX_UPLOAD_URLS_PATH = '/markdownx/upload/' - -Media Path -.......... - -The path where the images will be stored in your :guilabel:`MEDIA_ROOT` directory. - -.. code-block:: python - - MARKDOWNX_MEDIA_PATH = 'markdownx/' - -.. tip:: - **Recommended**: Storing all uploaded images in a single directory would over time results in a lot files being - stored in one location. This would slow down the process of saving and loading files substantially, and can in turn - lead to your website becoming very slow when it comes to loading images. To address this issue, it is better to - save the uploads in different directories. Here is an example of how this can be achieved: - - .. code-block:: python - - from datetime import datetime - - MARKDOWNX_MEDIA_PATH = datetime.now().strftime('markdownx/%Y/%m/%d') - - This ensures that uploaded files are stored in a different directory on the basis of the date on which they are - uploaded. So for instance; an image uploaded on the 15th of April 2017 will be stored - under ``media/markdownx/2017/4/15/unique_name.png``. - -Image Uploads -............. -Maximum size -```````````` -Maximum image size allowed in bytes: Default is 50MB, which is equal to 52,428,800 bytes. - -.. code-block:: python - - MARKDOWNX_UPLOAD_MAX_SIZE = 50 * 1024 * 1024 - -.. tip:: - It is considered a good practice to display large numbers in a meaningful way. For instance, 52,438,800 bytes is - better displayed in code as ``= 50 * 1024 * 1024 # 50 MB in bytes`` instead (the comment is also important). - Fellow programmers will thank you for this in the future! - - -Formats -``````` -Image formats that the user is permitted to upload. - -Options are: - -:image/jpeg: Raster graphic JPEG (JPG) images (lossy - with compression). -:image/png: Raster graphic PNG image (lossless - high quality, no compression). -:image/svg+xml: Vector graphic SVG images (scalable and resolution independent, no compression). - -.. code-block:: python - - MARKDOWNX_UPLOAD_CONTENT_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml'] - - -Dimension and Quality -````````````````````` -Different options describing final image processing; e.g. dimension and quality. - -.. Note:: - Quality restrictions do not apply to ``image/svg+xml`` formatted graphics. - -Options are: - -:size: (width, height) - When one of the dimensions is set to zero, e.g. ``(500, 0)``, the height is calculated - automatically so as to keep the dimensions intact. -:quality: default: `90` – image quality from `0` (full compression) to `100` (no compression). -:crop: default: `False` – if **True**, the `size` is used to crop the image. -:upscale: default: `False` – if image dimensions are smaller than those in defined in `size`, upscale to `size` - dimensions. - - -.. code-block:: python - - MARKDOWNX_IMAGE_MAX_SIZE = { - 'size': (500, 500), - 'quality': 90 - } - -Security -........ -SVG graphics are in essence XML files formatted in a specific way; which means that they can contain JavaScript codes. -This introduces a potential front-end security vulnerability for prospective users who will see the SVG image in -context; e.g. it may be employed to collect the user's IP address or other personal information. - -.. Note:: - This type of attack is known as `XSS (Cross-site Scripting) attack`_. See this presentation_ - by Mario Heiderich to learn more on SVG XSS attacks. There are a number of ways to deal with this vulnerability. - - Django is great at security, and provides very good protection against XSS attacks (see the Django documentations_ - for additional information) providing the `CSRF protection middleware`_ is enabled. When it comes to AJAX requests, - however, CSRF protection may sometimes be disabled for various reasons. - - -As a last resort, however, we have included an *optional* integrity check against JavaScript tags for SVG -formatted files just in case everything else is disabled. This protection is enabled by default, and may be disabled -by setting the value to ``False`` if so is desired. - -.. code-block:: python - - MARKDOWNX_SVG_JAVASCRIPT_PROTECTION = True - - -.. Important:: - **MarkdownX** does *not* disable CSRF protection by default, and requires the token for all AJAX request. - - -Editor -...... - -Change the editor's height to match the height of the inner contents whilst typing: - -.. code-block:: python - - MARKDOWNX_EDITOR_RESIZABLE = True - - -Latency -....... - -**Advanced**: When the value of a **MarkdownX** editor is changed, a call is made to the server to trans-compile -Markdown into HTML. However, a minimum latency of **500 milliseconds** has been imposed between the calls. This is to -prevent the bombardment of the server with a huge number of HTTP requests (you don't want to DDoS your own server). -This latency maintains a balance between responsiveness and protection, and is well-suited for medium traffic. -Nonetheless, if your website enjoys a particularly high traffic, you may wish to alter this value slightly depending on -the number of CPUs, the amount memory, and how much you are willing to compromise on responsiveness. - -.. code-block:: python - - MARKDOWNX_SERVER_CALL_LATENCY = 500 # milliseconds - - -.. Attention:: - Any values below 500 milliseconds is silently ignored and replaced. - - -.. _available extensions: https://pythonhosted.org/Markdown/extensions/index.html#officially-supported-extensions -.. _Markdown docs: https://pythonhosted.org/Markdown/reference.html#markdown -.. _extra: https://pythonhosted.org/Markdown/extensions/extra.html -.. _Markdown package: https://pythonhosted.org/Markdown/ -.. _XSS (Cross-site Scripting) attack: https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) -.. _presentation: https://www.owasp.org/images/0/03/Mario_Heiderich_OWASP_Sweden_The_image_that_called_me.pdf -.. _documentations: https://docs.djangoproject.com/en/dev/topics/security/#cross-site-scripting-xss-protection -.. _CSRF protection middleware: https://docs.djangoproject.com/en/dev/ref/middleware/#module-django.middleware.csrf -.. _change the renderer: https://docs.djangoproject.com/en/1.11/ref/forms/renderers/#overriding-built-in-widget-templates diff --git a/docs/_sources/example.rst.txt b/docs/_sources/example.rst.txt deleted file mode 100644 index 6d0159e..0000000 --- a/docs/_sources/example.rst.txt +++ /dev/null @@ -1,80 +0,0 @@ -Example -======= - -Have you: - -- successfully :doc:`installed MarkdownX`? - -- followed the instructions on how to :doc:`get started`? - -If so, you are set for the next step. Here you can find comprehensive examples of how to use different **MarkdownX** -features to your advantage. - -Model ------ - -This is how you implement a **MarkdownX** field in your models. In your :guilabel:`app/models.py`: - -.. code-block:: python - :linenos: - - from markdownx.models import MarkdownxField - - class MyModel(models.Model): - myfield = MarkdownxField() - -... and then, include the form media in the relevant template using ``{{ form.media }}``, like so: - -.. code-block:: html - -
{% csrf_token %} - {{ form }} -
- - {{ form.media }} - -.. note:: - The field extends Django's own TextField_ and is saved in the database accordingly. - -Form ----- -You can also implement **MarkdownX** through the forms. This will be done in your :guilabel:`app/forms.py` as follows: - -.. code-block:: python - :linenos: - - from markdownx.fields import MarkdownxFormField - - class MyForm(forms.Form): - myfield = MarkdownxFormField() - - -... and then, include a form's required media in the template using ``{{ form.media }}``: - -.. code-block:: html - -
{% csrf_token %} - {{ form }} -
- - {{ form.media }} - - -Django Admin ------------- -When using the build-in ``MarkdownxModel`` class in your models, just use ``MarkdownxModelAdmin`` in -your :guilabel:`app/admin.py` as follows: - -.. code-block:: python - :linenos: - - from django.contrib import admin - from markdownx.admin import MarkdownxModelAdmin - from .models import MyModel - - - admin.site.register(MyModel, MarkdownxModelAdmin) - - - -.. _TextField: https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.TextField diff --git a/docs/_sources/getting_started.rst.txt b/docs/_sources/getting_started.rst.txt deleted file mode 100644 index 0a448b3..0000000 --- a/docs/_sources/getting_started.rst.txt +++ /dev/null @@ -1,48 +0,0 @@ -Getting Started -=============== - -1. First and foremost, add ``markdownx`` to the list of ``INSTALLED_APPS`` in :guilabel:`settings.py`. - -.. code-block:: python - - INSTALLED_APPS = ( - # [...] - 'markdownx', - ) - - -You may alter default behaviours by adding and changing relevant variables in your settings. See -:doc:`customization ` for additional information. - -2. Add MarkdownX URL patterns to your :guilabel:`urls.py`. - -You can do this using either of these methods depending on your style: - -.. code-block:: python - - urlpatterns = [ - [...] - url(r'^markdownx/', include('markdownx.urls')), - ] - -or alternatively: - -.. code-block:: python - :linenos: - - from django.conf.urls import url, include - from markdownx import urls as markdownx - - urlpatterns += [ - url(r'^markdownx/', include(markdownx)) - ] - - -.. Important:: - Don't forget to collect MarkdownX assets to your :guilabel:`STATIC_ROOT`. To do this, run: - - .. code-block:: bash - - python3 manage.py collectstatic - - Replace ``python3`` with the your interpreter of choice. \ No newline at end of file diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt deleted file mode 100644 index 52aed6b..0000000 --- a/docs/_sources/index.rst.txt +++ /dev/null @@ -1,38 +0,0 @@ -.. Django Markdownx documentation master file, created by - sphinx-quickstart on Fri Mar 10 22:41:38 2017. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -:github_url: https://github.com/adi-/django-markdownx - -.. automodule:: markdownx - -Contents --------- -.. toctree:: - :maxdepth: 2 - :glob: - - installation - getting_started - example - customization - translation - js/js - markdownx/markdownx - contribution - license - -* :ref:`modindex` -* :ref:`genindex` -* :ref:`search` - ------------- - -Acknowledgements ----------------- -We acknowledge and appreciate every contribution made towards improving **Django MarkdownX**, a list of which can be -found on our `GitHub `_. - -**Django MarkdownX** was inspired by the great `Django Images `_ and -`Django Bootstrap Markdown `_ packages. diff --git a/docs/_sources/installation.rst.txt b/docs/_sources/installation.rst.txt deleted file mode 100644 index 1a3e1f8..0000000 --- a/docs/_sources/installation.rst.txt +++ /dev/null @@ -1,39 +0,0 @@ -Installation -============ -Using PIP ---------- -Django MarkdownX may be installed directly using Python Package Index (PyPi): - -.. code-block:: bash - - python3 -m pip install django-markdownx - - -From the source ---------------- -Should you wish to download and install it using the source code, you can do as follows: - -.. Note:: - Make sure you have activated your virtual environment if you're using one. - -We start off by downloading the source code from GitHub and navigate to the downloaded directory: - -.. code-block:: bash - - git clone https://github.com/adi-/django-markdownx.git - cd django-markdownx/ - - -Install the package. - -.. code-block:: bash - - python3 setup.py install - - -.. Tip:: - You can replace ``python3`` with ``python`` or any of |Supported_versions_of_Python| if - you have multiple versions installed on your machine: - - -.. |Supported_versions_of_Python| image:: https://img.shields.io/pypi/pyversions/django-markdownx.svg diff --git a/docs/_sources/js/docs.rst.txt b/docs/_sources/js/docs.rst.txt deleted file mode 100644 index 0c78b70..0000000 --- a/docs/_sources/js/docs.rst.txt +++ /dev/null @@ -1,10 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/static/markdownx/js - -JavaScript Code -=============== - -.. toctree:: - :maxdepth: 2 - :glob: - - docs/* diff --git a/docs/_sources/js/docs/markdownx.rst.txt b/docs/_sources/js/docs/markdownx.rst.txt deleted file mode 100644 index c96fa4f..0000000 --- a/docs/_sources/js/docs/markdownx.rst.txt +++ /dev/null @@ -1,258 +0,0 @@ -MarkdownX -========= - -Frontend (JavaScript) management of Django-MarkdownX package. - -Written in JavaScript ECMA 2016, trans-compiled to ECMA 5 (2011). - -:Requirements: - - Modern browser with support for HTML5 and ECMA 2011+ (IE 10+). Older browsers would work but some features may be - missing. - - TypeScript 2+ - -JavaScript ECMA 5 files formatted as ``.js`` or ``.min.js`` are trans-compiled files. Please do not modify such files as -all changes will be lost. To contribute, please edit ``static-src/markdownx/js/markdownx.ts``. See -:doc:`contributions<../../contribution>` in the documentations for additional instructions. - -.. note:: Typescript type definitions of this module are defined in ``static-src/markdownx/js/types.ts``. - ----- - -.. js:data:: GeneralEventHandlers - - :JSON Object: General (document level) event handlers. - - .. js:function:: inhibitDefault(event) - - Routine tasks for event handlers (e.g. default preventions). - - :param Event|KeyboardEvent event: The events to be inhibited. - :returns: event - :return type: Event - - .. js:function:: onDragEnter (event) - - Upon enter (when a file, e.g. an image, is dragged into the browser), - the defualt events are inhibited, and the drop event is set as `copy`. - - :param DragEvent event: Drag event. - :returns: Inhibited drag event with `copy` added to the drop event. - :return type: Event - - -.. js:data:: keyboardEvents - - :JSON Object: Keyboard events and their handlers. - - .. js:data:: keys - - :JSON Object: Custom hotkeys. - - .. js:attribute:: TAB - - - (*string*) - represents: ``Tab`` - - .. js:attribute:: DUPLICATE - - - (*string*) - represents: ``d`` - - .. js:attribute:: UNINDENT - - - (*string*) - represents: ``[`` - - .. js:attribute:: INDENT - - - (*string*) - represents: ``]`` - - .. js:function:: hub(event) - - Mapping of hotkeys from keyboard events to their corresponding functions. - - :param KeyboardEvent event: Keyboard event to be handled. - :return type: Function | Boolean - - .. js:data:: Handlers - - Handler functions, as mapped by :js:func:`hub`. - - :JSON Object: Hotkey response functions. - - .. note:: - Properties receive a single argument ``properties``, which is an instance of :js:data:`properties`. See the - ``markdownx`` class for additional details. - - .. js:function:: applyTab(properties) - - Smart application of tab indentations under various conditions. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: removeTab(properties) - - Smart removal of tab indentations. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: _multiLineIndentation(properties) - - **private** - - Handles multi line indentations. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: applyIndentation(properties) - - Smart application of indentation at the beginning of the line. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: removeIndentation(properties) - - Smart removal of indentation from the beginning of the line. - - :param JSON properties: See object descriptions for details. - :return type: string - - .. js:function:: applyDuplication(properties) - - Duplication of the current or selected lines. - - :param JSON properties: See object descriptions for details. - :return type: string - - -.. js:function:: getHeight(element) - - Returns either the height of an element as defined in the ``style`` attribute or CSS or its browser-computed height. - - :param element HTMLElement: The element whose height is to be determined. - :returns: Height of the element. - :return type: number - - -.. js:function:: updateHeight(element) - - Updates the height of an element based on its scroll height. - - :param HTMLTextAreaElement editor: Editor element whose height is to be updated. - :return type: HTMLTextAreaElement - - -.. js:class:: MarkdownX(editor, preview) - - MarkdownX initializer. - - :example: - .. code-block:: javascript - - >>> let parent = document.getElementsByClassName('markdownx'), - ... editor = parent.querySelector('.MyMarkdownEditor'), - ... preview = parent.querySelector('.MyMarkdownPreview'); - - >>> let mdx = new MarkdownX(parent, editor, preview) - - :param HTMLElement parent: Markdown editor element. - :param HTMLTextAreaElement editor: Markdown editor element. - :param HTMLElement preview: Markdown preview element. - - .. js:data:: properties - - :JSON Object: Class variables. - - .. js:attribute:: editor - - - (*HTMLTextAreaElement*) - Instance editor. - - .. js:attribute:: preview - - - (*HMTLElement*) - Instance preview. - - .. js:attribute:: parent - - - (*HMTLElement*) - Instance parent. - - .. js:attribute:: _latency - - **private** - - - (*number* | *null*) - Private property; timeout settings. - - .. js:attribute:: _editorIsResizable - - **private** - - - (*Boolean*) - Private property; ``true`` if instance editor is resizable, otherwise ``false``. - - .. js:function:: _markdownify() - - **private** - - Settings for ``timeout``. - - .. js:function:: _routineEventResponse(event) - - **private** - - Routine tasks for event handlers (e.g. default preventions). - - :param Event event: Event to be handled. - - .. js:function:: getEditorHeight(editor) - - :param HTMLTextAreaElement editor: Markdown editor element. - :returns: The editor's height in pixels; e.g. ``"150px"``. - :return type: string - - .. js:function:: inputChanged() - - Event handlers in response to alterations in the instance editor. - - :param Event event: Event to be handled. - - .. js:function:: onDragEnter(event) - - Event handler for :guilabel:`dragEnter` events. - - :param Event event: Event to be handled. - - .. js:function:: onDragLeave(event) - - Event handler for :guilabel:`dragLeave` events. - - :param Event event: Event to be handled. - - .. js:function:: onDrop(event) - - Event handler for :guilabel:`drop` events (in drag and drops). - - :param Event event: Event to be handled. - - .. js:function:: onKeyDown(event) - - Event handler for :guilabel:`keyDown` events as registered in the instance editor. - - :param Event event: Event to be handled. - :returns: ``null`` if the key pressed is *Tab* (ASCII #9) else ``false``. - :return type: boolean | null - - .. js:function:: sendFile(file) - - Uploading the ``file`` onto the server through an AJAX request. - - :param File file: File to be uploaded. - - .. js:function:: getMarkdown() - - Uploading the markdown text from :attr:`properties.editor` onto the server through an AJAX request, and upon - receiving the HTML encoded text in response, the response will be displayed in :attr:`properties.preview`. - - .. js:function:: insertImage(textToInsert) - - Inserts markdown encoded image URL into :attr:`properties.editor` where the cursor is located. - - :param string textToInsert: Markdown text (with path to the image) to be inserted into the editor. diff --git a/docs/_sources/js/docs/utils.rst.txt b/docs/_sources/js/docs/utils.rst.txt deleted file mode 100644 index 1b3fb69..0000000 --- a/docs/_sources/js/docs/utils.rst.txt +++ /dev/null @@ -1,246 +0,0 @@ -Utilities -========= - -This module contains various, individually documented tools for front-end software development using JavaScript. The -original code is implemented in TypeScript 2, and follows the ECMA 2016 standards and protocols. - -JavaScript ECMA 5 files formatted as ``.js`` or ``.min.js`` are trans-compiled files. Please do not modify such files as -all changes will be lost. To contribute, please edit ``static-src/markdownx/js/utils.ts``. See -:doc:`contributions<../../contribution>` in the documentations for additional instructions. - -.. note:: Typescript type definitions of this module are defined in ``static-src/markdownx/js/types.ts``. - ----- - -.. js:function:: getCookie(name) - - Looks for a cookie, and if found, returns the values. - - .. Note:: - - Only the first item in the array is returned to eliminate the need for array deconstruction - in the target. - - .. Attention:: - - The function catches the **TypeError** and returns ``null`` if the ``name`` provided for the cookie is not - found. A notification is then provided in the console to inform the developer that the requested cookie does - not exist. - - :param string name: The name of the cookie. - :returns: Value of the cookie with the key ``name`` or ``null``. - :return type: string | null - - -.. js:function:: zip(...rows) - - JavaScript implementation of Python's ``zip`` function. - - :param rows: Array or arrays to zipped together. - :returns: Array of zipped items. - :return type: Array[] - - :example: - .. code-block:: javascript - - >>> let zipped = zip([1, 'H'], [5, 'i']); - - >>> zipped.map(row => row.reduce((m, n) => m + n)) - // [6, "Hi"] - - -.. js:function:: mountEvents (...collections) - - Mounts a set of events defined in an object onto the document. - - :param collections: Must be JSON object and follow the structure outlined in the example. - :returns: Listeners - :return type: Event - - :example: - .. code-block:: javascript - - >>> let editorListeners = { - ... object: document.getElementById('my-editor'), - ... listeners: [ - ... { type: "input", capture: true , listener: inputChanged }, - ... { type: "compositionstart", capture: true , listener: onKeyDown } - ... ] - ... }; - - -.. js:function:: triggerEvent(element, type) - - Triggers an existing HTML event manually. - - :param Element element: Element whose event is to be created and triggered. - :param string type: Type of the event to be triggered. - - -.. js:function:: triggerCustomEvent(type, element, args) - - Triggers an already defined custom event manually. - - :param Element|Document element: Element whose event is to be triggered. - :param string type: Type of the event to be triggered. - :param args: Values to be passed as custom argument to ``event.details``. (Default = ``null``) - - -.. js:function:: preparePostData(data) - - Creates a new instance of **FormData** to be used in AJAX calls. - - :param Object data: Data to be embedded in the form in **JSON** format, where the *key* is the name/ID of the field - whose values are to be altered/created and corresponds to ``dict`` keys in Django - ``request.POST``. - - :param Boolean csrf: If ``true``, includes the CSRF token (under the name ``csrfmiddlewaretoken``) in the form. - Default is ``true``. - - :returns: A new instance **FormData** that incorporated the data embedded in ``data`` and the CSRF token if enabled. - :return type: FormData - - -.. js:function:: AJAXRequest() - - Determines the supported AJAX requests API in IE6+ browsers. - - :return type: XMLHttpRequest - :throws TypeError: AJAX request is not supported. - - -.. js:class:: Request(url, data) - - An XMLHttpRequest wrapper object to initialize AJAX POST requests. - - :example: - .. code-block:: javascript - - >>> let value = "This is a test value", - postUrl = "https://example.com/"; - - >>> const xhr = new utils.Request( - ... postUrl, // URL - ... preparePostData({content: value}) // Data - ... ); - - >>> xhr.success = response => console.log(response); - - >>> xhr.error = response => console.error(response); - - >>> xhr.progress = event => { - ... - ... if (event.lengthComputable) - ... console.info(`${(event.loaded / event.total) * 100}% uploaded.`) - ... - ... }; - - >>> xhr.send(); - - .. js:attribute:: url - - - (*string*) - URL to which the data is to be posted. - - .. js:attribute:: data - - - (*FormData*) - Data, as an instance of `FromData`, to be posted. - - .. js:attribute:: xhr - - **private** - - - (*any*) - Value obtained automatically by calling :js:func:`AjaxRequest`. - - .. js:function:: constructor(url, data) - - :param string url: URL to which the data is to be posted. - :param FormData data: Data, as an instance of `FromData`, to be posted. - - .. js:function:: progress(event) - - Progress callback. - - :param Event event: The entire event (see the example for additional information on usage). - - .. js:function:: success(response) - - Success callback. - - :param any response: Success values; first available one of ``responseText``, ``responseXML``, or ``response``. - - .. js:function:: error(response) - - Error callback. - - :param any response: Error value: ``responseText``. - - .. js:function:: send() - - Starts the transfer. - - -.. js:function:: addClass(element, ...classNames) - - Given an instance of an element, adds classes to it. - - :param Element element: Instance of an element. - :param string[] classNames: Can be a single string, or multiple strings. - - :example: - .. code-block:: javascript - - >>> addClass(document.getElementById('my-element'), 'className'); - - // or - - >>> addClass(document.getElementById('my-element'), 'classA', 'classB', 'classC'); - - -.. js:function:: hasClass(element, className) - - Given an instance of an element, confirms whether or not the element has the class. - - :param Element element: Instance of an element. - :param string[] className: Can be a single string, or multiple strings. - :returns: ``true`` if the element has the class, otherwise ``false``. - :return type: boolean - :example: - .. code-block:: javascript - - >>> hasClass(document.getElementById('my-element'), 'className') - // returns True if the element with id "my-element" has the class "className", otherwise False. - - -.. js:function:: removeClass(element, ...classNames) - - Given an instance of an element, removes classes to it. - - :param Element element: Instance of an element. - :param string[] classNames: Can be a single string, or multiple strings. - :example: - .. code-block:: javascript - - >>> removeClass(document.getElementById('my-element'), 'className'); - - // or - - >>> removeClass(document.getElementById('my-element'), 'classA', 'classB', 'classC'); - ----- - -**MIT Software License** - -:Copyright 2017: Pouria Hadjibagheri - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/_sources/js/events.rst.txt b/docs/_sources/js/events.rst.txt deleted file mode 100644 index 448cdb8..0000000 --- a/docs/_sources/js/events.rst.txt +++ /dev/null @@ -1,71 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/static/markdownx/js - - -Events -====== - -Some **MarkdownX** processes trigger events that may be utilized for different purposes. To handle such events in -JavaScript, you may take advantage of event listeners as exemplified below. - ----- - -Quick Reference ---------------- - -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Event | JavaScript handler | Description | -+=====================+=========================================+=======================================================+ -| Initialization | ``markdownx.init`` | Triggered after jQuery plugin init. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Update | ``markdownx.update`` | Triggered when editor text is markdownified. | -| | | | -| | | Returns: **response** (*string*) | -| | | variable containing markdownified text. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Update error | ``markdownx.updateError`` | Triggered when a problem occurred during markdownify. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| Beginning to upload | ``markdownx.markdownx.fileUploadBegin`` | Triggered when the file is posted. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| File upload end | ``markdownx.fileUploadEnd`` | Triggered when the file has been uploaded. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ -| File upload error | ``markdownx.fileUploadError`` | Triggered if the upload didn't work. | -+---------------------+-----------------------------------------+-------------------------------------------------------+ - - ----- - -Examples --------- - -Initialization - ``markdownx.init`` is an event that does *not* return a response. - -JavaScript ECMA 2015+: - -.. code-block:: javascript - :linenos: - - let element = document.getElementsByClassName('markdownx'); - - Object.keys(element).map(key => - - element[key].addEventListener('markdownx.init', () => console.log("MarkdownX initialized.")) - - ); - - -Update - ``markdownx.update`` is an event that returns a response. - -JavaScript ECMA 2015+: - -.. code-block:: javascript - :linenos: - - let element = document.getElementsByClassName('markdownx'); - - Object.keys(element).map(key => - - element[key].addEventListener('markdownx.update', event => console.log(event.detail)) - - ); diff --git a/docs/_sources/js/js.rst.txt b/docs/_sources/js/js.rst.txt deleted file mode 100644 index 474bc97..0000000 --- a/docs/_sources/js/js.rst.txt +++ /dev/null @@ -1,22 +0,0 @@ -JavaScript -========== - -.. toctree:: - :maxdepth: 2 - :glob: - - * - ----- - -Compatibility -------------- - -We rely on JavaScript to handle front-end events (e.g. trans-compilation of Markdown to HTML, uploading image). - -**MarkdownX** JavaScript code is written in TypeScript using Pure JavaScript and under ECMA 2016 standard. -Currently, the code is trans-compiled into ECMA 5 (approved in 2011) to provide support for older browsers, -specifically IE 10+. See additional detailed on `browser compatibilities`_. - - -.. _browser compatibilities: https://kangax.github.io/compat-table/es5/ \ No newline at end of file diff --git a/docs/_sources/license.rst.txt b/docs/_sources/license.rst.txt deleted file mode 100644 index 31a7a3d..0000000 --- a/docs/_sources/license.rst.txt +++ /dev/null @@ -1,32 +0,0 @@ -License -------- - -MarkdownX is licensed under the `2-clause BSD `_ -license, and Open Source Initiative approved license. - - -.. image:: _static/osi.png - :alt: Open Source Initiative (OSI) Logo - :align: center - - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -This software is provided by the copyright holders and contributors "as is" and -any express or implied warranties, including, but not limited to, the implied -warranties of merchantability and fitness for a particular purpose are -disclaimed. in no event shall the copyright owner or contributors be liable for -any direct, indirect, incidental, special, exemplary, or consequential damages -(including, but not limited to, procurement of substitute goods or services; -loss of use, data, or profits; or business interruption) however caused and -on any theory of liability, whether in contract, strict liability, or tort -(including negligence or otherwise) arising in any way out of the use of this -software, even if advised of the possibility of such damage. diff --git a/docs/_sources/markdownx/docs/admins.rst.txt b/docs/_sources/markdownx/docs/admins.rst.txt deleted file mode 100644 index a9118fb..0000000 --- a/docs/_sources/markdownx/docs/admins.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/admin.py - -Admin ------ -.. automodule:: markdownx.admin - :members: diff --git a/docs/_sources/markdownx/docs/exceptions.rst.txt b/docs/_sources/markdownx/docs/exceptions.rst.txt deleted file mode 100644 index d4e3cc0..0000000 --- a/docs/_sources/markdownx/docs/exceptions.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/exceptions.py - - -Exceptions ----------- -.. automodule:: markdownx.exceptions - :members: \ No newline at end of file diff --git a/docs/_sources/markdownx/docs/fields.rst.txt b/docs/_sources/markdownx/docs/fields.rst.txt deleted file mode 100644 index 3502dfc..0000000 --- a/docs/_sources/markdownx/docs/fields.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/fields.py - -Fields ------- -.. automodule:: markdownx.fields - :members: diff --git a/docs/_sources/markdownx/docs/forms.rst.txt b/docs/_sources/markdownx/docs/forms.rst.txt deleted file mode 100644 index 5f82bfc..0000000 --- a/docs/_sources/markdownx/docs/forms.rst.txt +++ /dev/null @@ -1,9 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/forms.py - - -Form ----- - -.. automodule:: markdownx.forms - :members: - diff --git a/docs/_sources/markdownx/docs/models.rst.txt b/docs/_sources/markdownx/docs/models.rst.txt deleted file mode 100644 index e44c80f..0000000 --- a/docs/_sources/markdownx/docs/models.rst.txt +++ /dev/null @@ -1,8 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/models.py - - -Models ------- - -.. automodule:: markdownx.models - :members: \ No newline at end of file diff --git a/docs/_sources/markdownx/docs/utilities.rst.txt b/docs/_sources/markdownx/docs/utilities.rst.txt deleted file mode 100644 index 594b369..0000000 --- a/docs/_sources/markdownx/docs/utilities.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/utils.py - -Utilities ---------- -.. automodule:: markdownx.utils - :members: diff --git a/docs/_sources/markdownx/docs/views.rst.txt b/docs/_sources/markdownx/docs/views.rst.txt deleted file mode 100644 index ec1d737..0000000 --- a/docs/_sources/markdownx/docs/views.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/views.py - -Views ------ -.. automodule:: markdownx.views - :members: diff --git a/docs/_sources/markdownx/markdownx.rst.txt b/docs/_sources/markdownx/markdownx.rst.txt deleted file mode 100644 index cf4e8f8..0000000 --- a/docs/_sources/markdownx/markdownx.rst.txt +++ /dev/null @@ -1,8 +0,0 @@ -MarkdownX Modules ------------------ - -.. toctree:: - :maxdepth: 2 - :glob: - - docs/* \ No newline at end of file diff --git a/docs/_sources/translation.rst.txt b/docs/_sources/translation.rst.txt deleted file mode 100644 index cbff4a8..0000000 --- a/docs/_sources/translation.rst.txt +++ /dev/null @@ -1,31 +0,0 @@ -:github_url: https://github.com/adi-/django-markdownx/tree/master/markdownx/locale - -Translation -=========== - -Django's strength is in its global community. Similarly, **MarkdownX** developers come from across the world too. We are -therefore commit to make the plugin as inclusive as possible. To this end, we provide translation of all messages -produced by **MarkdownX** to various languages. - - -Current languages ------------------ - -- English -- Polish (Polski) -- German (Deutsch) -- French (Français) -- Persian (فارسی) -- Dutch (Nederlands) - ----- - -Your language is not included? -`````````````````````````````` - -Wanna contribute? - Why not help us with the translation of messages? It's not really that long. - - -Even more? - Help us translate the documentations. \ No newline at end of file diff --git a/docs/_static/ajax-loader.gif b/docs/_static/ajax-loader.gif deleted file mode 100644 index 61faf8c..0000000 Binary files a/docs/_static/ajax-loader.gif and /dev/null differ diff --git a/docs/_static/basic.css b/docs/_static/basic.css deleted file mode 100644 index 7ed0e58..0000000 --- a/docs/_static/basic.css +++ /dev/null @@ -1,632 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox input[type="text"] { - width: 170px; -} - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li div.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px 7px 0 7px; - background-color: #ffe; - width: 40%; - float: right; -} - -p.sidebar-title { - font-weight: bold; -} - -/* -- topics ---------------------------------------------------------------- */ - -div.topic { - border: 1px solid #ccc; - padding: 7px 7px 0 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -div.admonition dl { - margin-bottom: 0; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - border: 0; - border-collapse: collapse; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -table.footnote td, table.footnote th { - border: 0 !important; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -dl { - margin-bottom: 15px; -} - -dd p { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -dt:target, .highlighted { - background-color: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; -} - -td.linenos pre { - padding: 5px 0px; - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - margin-left: 0.5em; -} - -table.highlighttable td { - padding: 0 0.5em 0 0.5em; -} - -div.code-block-caption { - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -div.code-block-caption + div > div.highlight > pre { - margin-top: 0; -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - padding: 1em 1em 0; -} - -div.literal-block-wrapper div.highlight { - margin: 0; -} - -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: relative; - left: 0px; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/docs/_static/comment-bright.png b/docs/_static/comment-bright.png deleted file mode 100644 index 15e27ed..0000000 Binary files a/docs/_static/comment-bright.png and /dev/null differ diff --git a/docs/_static/comment-close.png b/docs/_static/comment-close.png deleted file mode 100644 index 4d91bcf..0000000 Binary files a/docs/_static/comment-close.png and /dev/null differ diff --git a/docs/_static/comment.png b/docs/_static/comment.png deleted file mode 100644 index dfbc0cb..0000000 Binary files a/docs/_static/comment.png and /dev/null differ diff --git a/docs/_static/css/badge_only.css b/docs/_static/css/badge_only.css deleted file mode 100644 index cb09245..0000000 --- a/docs/_static/css/badge_only.css +++ /dev/null @@ -1,221 +0,0 @@ -@charset "UTF-8"; -.fa:before { - -webkit-font-smoothing: antialiased; -} - -.clearfix { - *zoom: 1; -} -.clearfix:before, .clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} - -@font-face { - font-family: FontAwesome; - font-weight: normal; - font-style: normal; - src: url("../fonts/fontawesome-webfont.eot"); - src: url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype"), url("../fonts/fontawesome-webfont.svg#FontAwesome") format("svg"); -} -.fa:before { - display: inline-block; - font-family: FontAwesome; - font-style: normal; - font-weight: normal; - line-height: 1; - text-decoration: inherit; -} - -a .fa { - display: inline-block; - text-decoration: inherit; -} - -li .fa { - display: inline-block; -} -li .fa-large:before, -li .fa-large:before { - /* 1.5 increased font size for fa-large * 1.25 width */ - width: 1.875em; -} - -ul.fas { - list-style-type: none; - margin-left: 2em; - text-indent: -0.8em; -} -ul.fas li .fa { - width: 0.8em; -} -ul.fas li .fa-large:before, -ul.fas li .fa-large:before { - /* 1.5 increased font size for fa-large * 1.25 width */ - vertical-align: baseline; -} - -.fa-book:before { - content: ""; -} - -.icon-book:before { - content: ""; -} - -.fa-caret-down:before { - content: ""; -} - -.icon-caret-down:before { - content: ""; -} - -.fa-caret-up:before { - content: ""; -} - -.icon-caret-up:before { - content: ""; -} - -.fa-caret-left:before { - content: ""; -} - -.icon-caret-left:before { - content: ""; -} - -.fa-caret-right:before { - content: ""; -} - -.icon-caret-right:before { - content: ""; -} - -.rst-versions { - position: fixed; - bottom: 0; - left: 0; - width: 300px; - color: #fcfcfc; - background: #1f1d1d; - border-top: solid 10px #343131; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - z-index: 400; -} -.rst-versions a { - color: #2980B9; - text-decoration: none; -} -.rst-versions .rst-badge-small { - display: none; -} -.rst-versions .rst-current-version { - padding: 12px; - background-color: #272525; - display: block; - text-align: right; - font-size: 90%; - cursor: pointer; - color: #27AE60; - *zoom: 1; -} -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { - display: table; - content: ""; -} -.rst-versions .rst-current-version:after { - clear: both; -} -.rst-versions .rst-current-version .fa { - color: #fcfcfc; -} -.rst-versions .rst-current-version .fa-book { - float: left; -} -.rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version.rst-out-of-date { - background-color: #E74C3C; - color: #fff; -} -.rst-versions .rst-current-version.rst-active-old-version { - background-color: #F1C40F; - color: #000; -} -.rst-versions.shift-up .rst-other-versions { - display: block; -} -.rst-versions .rst-other-versions { - font-size: 90%; - padding: 12px; - color: gray; - display: none; -} -.rst-versions .rst-other-versions hr { - display: block; - height: 1px; - border: 0; - margin: 20px 0; - padding: 0; - border-top: solid 1px #413d3d; -} -.rst-versions .rst-other-versions dd { - display: inline-block; - margin: 0; -} -.rst-versions .rst-other-versions dd a { - display: inline-block; - padding: 6px; - color: #fcfcfc; -} -.rst-versions.rst-badge { - width: auto; - bottom: 20px; - right: 20px; - left: auto; - border: none; - max-width: 300px; -} -.rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge .fa-book { - float: none; -} -.rst-versions.rst-badge.shift-up .rst-current-version { - text-align: right; -} -.rst-versions.rst-badge.shift-up .rst-current-version .fa-book { - float: left; -} -.rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge .rst-current-version { - width: auto; - height: 30px; - line-height: 30px; - padding: 0 6px; - display: block; - text-align: center; -} - -@media screen and (max-width: 768px) { - .rst-versions { - width: 85%; - display: none; - } - .rst-versions.shift { - display: block; - } -} - -/*# sourceMappingURL=badge_only.css.map */ diff --git a/docs/_static/css/theme.css b/docs/_static/css/theme.css deleted file mode 100644 index 3e8c32b..0000000 --- a/docs/_static/css/theme.css +++ /dev/null @@ -1,6025 +0,0 @@ -@charset "UTF-8"; -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { - display: block; -} - -audio, canvas, video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -audio:not([controls]) { - display: none; -} - -[hidden] { - display: none; -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -a:hover, a:active { - outline: 0; -} - -abbr[title] { - border-bottom: 1px dotted; -} - -b, strong { - font-weight: bold; -} - -blockquote { - margin: 0; -} - -dfn { - font-style: italic; -} - -ins { - background: #ff9; - color: #000; - text-decoration: none; -} - -mark { - background: #ff0; - color: #000; - font-style: italic; - font-weight: bold; -} - -pre, code, .rst-content tt, .rst-content code, kbd, samp { - font-family: monospace, serif; - _font-family: "courier new", monospace; - font-size: 1em; -} - -pre { - white-space: pre; -} - -q { - quotes: none; -} - -q:before, q:after { - content: ""; - content: none; -} - -small { - font-size: 85%; -} - -sub, sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -ul, ol, dl { - margin: 0; - padding: 0; - list-style: none; - list-style-image: none; -} - -li { - list-style: none; -} - -dd { - margin: 0; -} - -img { - border: 0; - -ms-interpolation-mode: bicubic; - vertical-align: middle; - max-width: 100%; -} - -svg:not(:root) { - overflow: hidden; -} - -figure { - margin: 0; -} - -form { - margin: 0; -} - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -label { - cursor: pointer; -} - -legend { - border: 0; - *margin-left: -7px; - padding: 0; - white-space: normal; -} - -button, input, select, textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; -} - -button, input { - line-height: normal; -} - -button, input[type="button"], input[type="reset"], input[type="submit"] { - cursor: pointer; - -webkit-appearance: button; - *overflow: visible; -} - -button[disabled], input[disabled] { - cursor: default; -} - -input[type="checkbox"], input[type="radio"] { - box-sizing: border-box; - padding: 0; - *width: 13px; - *height: 13px; -} - -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; -} - -textarea { - overflow: auto; - vertical-align: top; - resize: vertical; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td { - vertical-align: top; -} - -.chromeframe { - margin: 0.2em 0; - background: #ccc; - color: black; - padding: 0.2em 0; -} - -.ir { - display: block; - border: 0; - text-indent: -999em; - overflow: hidden; - background-color: transparent; - background-repeat: no-repeat; - text-align: left; - direction: ltr; - *line-height: 0; -} - -.ir br { - display: none; -} - -.hidden { - display: none !important; - visibility: hidden; -} - -.visuallyhidden { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} - -.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; -} - -.invisible { - visibility: hidden; -} - -.relative { - position: relative; -} - -big, small { - font-size: 100%; -} - -@media print { - html, body, section { - background: none !important; - } - - * { - box-shadow: none !important; - text-shadow: none !important; - filter: none !important; - -ms-filter: none !important; - } - - a, a:visited { - text-decoration: underline; - } - - .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { - content: ""; - } - - pre, blockquote { - page-break-inside: avoid; - } - - thead { - display: table-header-group; - } - - tr, img { - page-break-inside: avoid; - } - - img { - max-width: 100% !important; - } - - @page { - margin: 0.5cm; - } - p, h2, .rst-content .toctree-wrapper p.caption, h3 { - orphans: 3; - widows: 3; - } - - h2, .rst-content .toctree-wrapper p.caption, h3 { - page-break-after: avoid; - } -} -.fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo, .btn, input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .wy-menu-vertical li.on a, .wy-menu-vertical li.current > a, .wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a, .wy-nav-top a { - -webkit-font-smoothing: antialiased; -} - -.clearfix { - *zoom: 1; -} -.clearfix:before, .clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} - -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url("../fonts/fontawesome-webfont.eot?v=4.7.0"); - src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg"); - font-weight: normal; - font-style: normal; -} -.fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -15%; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-fw { - width: 1.28571em; - text-align: center; -} - -.fa-ul { - padding-left: 0; - margin-left: 2.14286em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - position: absolute; - left: -2.14286em; - width: 2.14286em; - top: 0.14286em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714em; -} - -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eee; - border-radius: .1em; -} - -.fa-pull-left { - float: left; -} - -.fa-pull-right { - float: right; -} - -.fa.fa-pull-left, .wy-menu-vertical li span.fa-pull-left.toctree-expand, .wy-menu-vertical li.on a span.fa-pull-left.toctree-expand, .wy-menu-vertical li.current > a span.fa-pull-left.toctree-expand, .rst-content .fa-pull-left.admonition-title, .rst-content h1 .fa-pull-left.headerlink, .rst-content h2 .fa-pull-left.headerlink, .rst-content h3 .fa-pull-left.headerlink, .rst-content h4 .fa-pull-left.headerlink, .rst-content h5 .fa-pull-left.headerlink, .rst-content h6 .fa-pull-left.headerlink, .rst-content dl dt .fa-pull-left.headerlink, .rst-content p.caption .fa-pull-left.headerlink, .rst-content tt.download span.fa-pull-left:first-child, .rst-content code.download span.fa-pull-left:first-child, .fa-pull-left.icon { - margin-right: .3em; -} -.fa.fa-pull-right, .wy-menu-vertical li span.fa-pull-right.toctree-expand, .wy-menu-vertical li.on a span.fa-pull-right.toctree-expand, .wy-menu-vertical li.current > a span.fa-pull-right.toctree-expand, .rst-content .fa-pull-right.admonition-title, .rst-content h1 .fa-pull-right.headerlink, .rst-content h2 .fa-pull-right.headerlink, .rst-content h3 .fa-pull-right.headerlink, .rst-content h4 .fa-pull-right.headerlink, .rst-content h5 .fa-pull-right.headerlink, .rst-content h6 .fa-pull-right.headerlink, .rst-content dl dt .fa-pull-right.headerlink, .rst-content p.caption .fa-pull-right.headerlink, .rst-content tt.download span.fa-pull-right:first-child, .rst-content code.download span.fa-pull-right:first-child, .fa-pull-right.icon { - margin-left: .3em; -} - -/* Deprecated as of 4.4.0 */ -.pull-right { - float: right; -} - -.pull-left { - float: left; -} - -.fa.pull-left, .wy-menu-vertical li span.pull-left.toctree-expand, .wy-menu-vertical li.on a span.pull-left.toctree-expand, .wy-menu-vertical li.current > a span.pull-left.toctree-expand, .rst-content .pull-left.admonition-title, .rst-content h1 .pull-left.headerlink, .rst-content h2 .pull-left.headerlink, .rst-content h3 .pull-left.headerlink, .rst-content h4 .pull-left.headerlink, .rst-content h5 .pull-left.headerlink, .rst-content h6 .pull-left.headerlink, .rst-content dl dt .pull-left.headerlink, .rst-content p.caption .pull-left.headerlink, .rst-content tt.download span.pull-left:first-child, .rst-content code.download span.pull-left:first-child, .pull-left.icon { - margin-right: .3em; -} -.fa.pull-right, .wy-menu-vertical li span.pull-right.toctree-expand, .wy-menu-vertical li.on a span.pull-right.toctree-expand, .wy-menu-vertical li.current > a span.pull-right.toctree-expand, .rst-content .pull-right.admonition-title, .rst-content h1 .pull-right.headerlink, .rst-content h2 .pull-right.headerlink, .rst-content h3 .pull-right.headerlink, .rst-content h4 .pull-right.headerlink, .rst-content h5 .pull-right.headerlink, .rst-content h6 .pull-right.headerlink, .rst-content dl dt .pull-right.headerlink, .rst-content p.caption .pull-right.headerlink, .rst-content tt.download span.pull-right:first-child, .rst-content code.download span.pull-right:first-child, .pull-right.icon { - margin-left: .3em; -} - -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} - -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); -} - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} - -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} - -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} - -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} - -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} - -.fa-stack-1x, .fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} - -.fa-stack-1x { - line-height: inherit; -} - -.fa-stack-2x { - font-size: 2em; -} - -.fa-inverse { - color: #fff; -} - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: ""; -} - -.fa-music:before { - content: ""; -} - -.fa-search:before, .icon-search:before { - content: ""; -} - -.fa-envelope-o:before { - content: ""; -} - -.fa-heart:before { - content: ""; -} - -.fa-star:before { - content: ""; -} - -.fa-star-o:before { - content: ""; -} - -.fa-user:before { - content: ""; -} - -.fa-film:before { - content: ""; -} - -.fa-th-large:before { - content: ""; -} - -.fa-th:before { - content: ""; -} - -.fa-th-list:before { - content: ""; -} - -.fa-check:before { - content: ""; -} - -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: ""; -} - -.fa-search-plus:before { - content: ""; -} - -.fa-search-minus:before { - content: ""; -} - -.fa-power-off:before { - content: ""; -} - -.fa-signal:before { - content: ""; -} - -.fa-gear:before, -.fa-cog:before { - content: ""; -} - -.fa-trash-o:before { - content: ""; -} - -.fa-home:before, .icon-home:before { - content: ""; -} - -.fa-file-o:before { - content: ""; -} - -.fa-clock-o:before { - content: ""; -} - -.fa-road:before { - content: ""; -} - -.fa-download:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { - content: ""; -} - -.fa-arrow-circle-o-down:before { - content: ""; -} - -.fa-arrow-circle-o-up:before { - content: ""; -} - -.fa-inbox:before { - content: ""; -} - -.fa-play-circle-o:before { - content: ""; -} - -.fa-rotate-right:before, -.fa-repeat:before { - content: ""; -} - -.fa-refresh:before { - content: ""; -} - -.fa-list-alt:before { - content: ""; -} - -.fa-lock:before { - content: ""; -} - -.fa-flag:before { - content: ""; -} - -.fa-headphones:before { - content: ""; -} - -.fa-volume-off:before { - content: ""; -} - -.fa-volume-down:before { - content: ""; -} - -.fa-volume-up:before { - content: ""; -} - -.fa-qrcode:before { - content: ""; -} - -.fa-barcode:before { - content: ""; -} - -.fa-tag:before { - content: ""; -} - -.fa-tags:before { - content: ""; -} - -.fa-book:before, .icon-book:before { - content: ""; -} - -.fa-bookmark:before { - content: ""; -} - -.fa-print:before { - content: ""; -} - -.fa-camera:before { - content: ""; -} - -.fa-font:before { - content: ""; -} - -.fa-bold:before { - content: ""; -} - -.fa-italic:before { - content: ""; -} - -.fa-text-height:before { - content: ""; -} - -.fa-text-width:before { - content: ""; -} - -.fa-align-left:before { - content: ""; -} - -.fa-align-center:before { - content: ""; -} - -.fa-align-right:before { - content: ""; -} - -.fa-align-justify:before { - content: ""; -} - -.fa-list:before { - content: ""; -} - -.fa-dedent:before, -.fa-outdent:before { - content: ""; -} - -.fa-indent:before { - content: ""; -} - -.fa-video-camera:before { - content: ""; -} - -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: ""; -} - -.fa-pencil:before { - content: ""; -} - -.fa-map-marker:before { - content: ""; -} - -.fa-adjust:before { - content: ""; -} - -.fa-tint:before { - content: ""; -} - -.fa-edit:before, -.fa-pencil-square-o:before { - content: ""; -} - -.fa-share-square-o:before { - content: ""; -} - -.fa-check-square-o:before { - content: ""; -} - -.fa-arrows:before { - content: ""; -} - -.fa-step-backward:before { - content: ""; -} - -.fa-fast-backward:before { - content: ""; -} - -.fa-backward:before { - content: ""; -} - -.fa-play:before { - content: ""; -} - -.fa-pause:before { - content: ""; -} - -.fa-stop:before { - content: ""; -} - -.fa-forward:before { - content: ""; -} - -.fa-fast-forward:before { - content: ""; -} - -.fa-step-forward:before { - content: ""; -} - -.fa-eject:before { - content: ""; -} - -.fa-chevron-left:before { - content: ""; -} - -.fa-chevron-right:before { - content: ""; -} - -.fa-plus-circle:before { - content: ""; -} - -.fa-minus-circle:before { - content: ""; -} - -.fa-times-circle:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before { - content: ""; -} - -.fa-check-circle:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before { - content: ""; -} - -.fa-question-circle:before { - content: ""; -} - -.fa-info-circle:before { - content: ""; -} - -.fa-crosshairs:before { - content: ""; -} - -.fa-times-circle-o:before { - content: ""; -} - -.fa-check-circle-o:before { - content: ""; -} - -.fa-ban:before { - content: ""; -} - -.fa-arrow-left:before { - content: ""; -} - -.fa-arrow-right:before { - content: ""; -} - -.fa-arrow-up:before { - content: ""; -} - -.fa-arrow-down:before { - content: ""; -} - -.fa-mail-forward:before, -.fa-share:before { - content: ""; -} - -.fa-expand:before { - content: ""; -} - -.fa-compress:before { - content: ""; -} - -.fa-plus:before { - content: ""; -} - -.fa-minus:before { - content: ""; -} - -.fa-asterisk:before { - content: ""; -} - -.fa-exclamation-circle:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .rst-content .admonition-title:before { - content: ""; -} - -.fa-gift:before { - content: ""; -} - -.fa-leaf:before { - content: ""; -} - -.fa-fire:before, .icon-fire:before { - content: ""; -} - -.fa-eye:before { - content: ""; -} - -.fa-eye-slash:before { - content: ""; -} - -.fa-warning:before, -.fa-exclamation-triangle:before { - content: ""; -} - -.fa-plane:before { - content: ""; -} - -.fa-calendar:before { - content: ""; -} - -.fa-random:before { - content: ""; -} - -.fa-comment:before { - content: ""; -} - -.fa-magnet:before { - content: ""; -} - -.fa-chevron-up:before { - content: ""; -} - -.fa-chevron-down:before { - content: ""; -} - -.fa-retweet:before { - content: ""; -} - -.fa-shopping-cart:before { - content: ""; -} - -.fa-folder:before { - content: ""; -} - -.fa-folder-open:before { - content: ""; -} - -.fa-arrows-v:before { - content: ""; -} - -.fa-arrows-h:before { - content: ""; -} - -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: ""; -} - -.fa-twitter-square:before { - content: ""; -} - -.fa-facebook-square:before { - content: ""; -} - -.fa-camera-retro:before { - content: ""; -} - -.fa-key:before { - content: ""; -} - -.fa-gears:before, -.fa-cogs:before { - content: ""; -} - -.fa-comments:before { - content: ""; -} - -.fa-thumbs-o-up:before { - content: ""; -} - -.fa-thumbs-o-down:before { - content: ""; -} - -.fa-star-half:before { - content: ""; -} - -.fa-heart-o:before { - content: ""; -} - -.fa-sign-out:before { - content: ""; -} - -.fa-linkedin-square:before { - content: ""; -} - -.fa-thumb-tack:before { - content: ""; -} - -.fa-external-link:before { - content: ""; -} - -.fa-sign-in:before { - content: ""; -} - -.fa-trophy:before { - content: ""; -} - -.fa-github-square:before { - content: ""; -} - -.fa-upload:before { - content: ""; -} - -.fa-lemon-o:before { - content: ""; -} - -.fa-phone:before { - content: ""; -} - -.fa-square-o:before { - content: ""; -} - -.fa-bookmark-o:before { - content: ""; -} - -.fa-phone-square:before { - content: ""; -} - -.fa-twitter:before { - content: ""; -} - -.fa-facebook-f:before, -.fa-facebook:before { - content: ""; -} - -.fa-github:before, .icon-github:before { - content: ""; -} - -.fa-unlock:before { - content: ""; -} - -.fa-credit-card:before { - content: ""; -} - -.fa-feed:before, -.fa-rss:before { - content: ""; -} - -.fa-hdd-o:before { - content: ""; -} - -.fa-bullhorn:before { - content: ""; -} - -.fa-bell:before { - content: ""; -} - -.fa-certificate:before { - content: ""; -} - -.fa-hand-o-right:before { - content: ""; -} - -.fa-hand-o-left:before { - content: ""; -} - -.fa-hand-o-up:before { - content: ""; -} - -.fa-hand-o-down:before { - content: ""; -} - -.fa-arrow-circle-left:before, .icon-circle-arrow-left:before { - content: ""; -} - -.fa-arrow-circle-right:before, .icon-circle-arrow-right:before { - content: ""; -} - -.fa-arrow-circle-up:before { - content: ""; -} - -.fa-arrow-circle-down:before { - content: ""; -} - -.fa-globe:before { - content: ""; -} - -.fa-wrench:before { - content: ""; -} - -.fa-tasks:before { - content: ""; -} - -.fa-filter:before { - content: ""; -} - -.fa-briefcase:before { - content: ""; -} - -.fa-arrows-alt:before { - content: ""; -} - -.fa-group:before, -.fa-users:before { - content: ""; -} - -.fa-chain:before, -.fa-link:before, -.icon-link:before { - content: ""; -} - -.fa-cloud:before { - content: ""; -} - -.fa-flask:before { - content: ""; -} - -.fa-cut:before, -.fa-scissors:before { - content: ""; -} - -.fa-copy:before, -.fa-files-o:before { - content: ""; -} - -.fa-paperclip:before { - content: ""; -} - -.fa-save:before, -.fa-floppy-o:before { - content: ""; -} - -.fa-square:before { - content: ""; -} - -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: ""; -} - -.fa-list-ul:before { - content: ""; -} - -.fa-list-ol:before { - content: ""; -} - -.fa-strikethrough:before { - content: ""; -} - -.fa-underline:before { - content: ""; -} - -.fa-table:before { - content: ""; -} - -.fa-magic:before { - content: ""; -} - -.fa-truck:before { - content: ""; -} - -.fa-pinterest:before { - content: ""; -} - -.fa-pinterest-square:before { - content: ""; -} - -.fa-google-plus-square:before { - content: ""; -} - -.fa-google-plus:before { - content: ""; -} - -.fa-money:before { - content: ""; -} - -.fa-caret-down:before, .wy-dropdown .caret:before, .icon-caret-down:before { - content: ""; -} - -.fa-caret-up:before { - content: ""; -} - -.fa-caret-left:before { - content: ""; -} - -.fa-caret-right:before { - content: ""; -} - -.fa-columns:before { - content: ""; -} - -.fa-unsorted:before, -.fa-sort:before { - content: ""; -} - -.fa-sort-down:before, -.fa-sort-desc:before { - content: ""; -} - -.fa-sort-up:before, -.fa-sort-asc:before { - content: ""; -} - -.fa-envelope:before { - content: ""; -} - -.fa-linkedin:before { - content: ""; -} - -.fa-rotate-left:before, -.fa-undo:before { - content: ""; -} - -.fa-legal:before, -.fa-gavel:before { - content: ""; -} - -.fa-dashboard:before, -.fa-tachometer:before { - content: ""; -} - -.fa-comment-o:before { - content: ""; -} - -.fa-comments-o:before { - content: ""; -} - -.fa-flash:before, -.fa-bolt:before { - content: ""; -} - -.fa-sitemap:before { - content: ""; -} - -.fa-umbrella:before { - content: ""; -} - -.fa-paste:before, -.fa-clipboard:before { - content: ""; -} - -.fa-lightbulb-o:before { - content: ""; -} - -.fa-exchange:before { - content: ""; -} - -.fa-cloud-download:before { - content: ""; -} - -.fa-cloud-upload:before { - content: ""; -} - -.fa-user-md:before { - content: ""; -} - -.fa-stethoscope:before { - content: ""; -} - -.fa-suitcase:before { - content: ""; -} - -.fa-bell-o:before { - content: ""; -} - -.fa-coffee:before { - content: ""; -} - -.fa-cutlery:before { - content: ""; -} - -.fa-file-text-o:before { - content: ""; -} - -.fa-building-o:before { - content: ""; -} - -.fa-hospital-o:before { - content: ""; -} - -.fa-ambulance:before { - content: ""; -} - -.fa-medkit:before { - content: ""; -} - -.fa-fighter-jet:before { - content: ""; -} - -.fa-beer:before { - content: ""; -} - -.fa-h-square:before { - content: ""; -} - -.fa-plus-square:before { - content: ""; -} - -.fa-angle-double-left:before { - content: ""; -} - -.fa-angle-double-right:before { - content: ""; -} - -.fa-angle-double-up:before { - content: ""; -} - -.fa-angle-double-down:before { - content: ""; -} - -.fa-angle-left:before { - content: ""; -} - -.fa-angle-right:before { - content: ""; -} - -.fa-angle-up:before { - content: ""; -} - -.fa-angle-down:before { - content: ""; -} - -.fa-desktop:before { - content: ""; -} - -.fa-laptop:before { - content: ""; -} - -.fa-tablet:before { - content: ""; -} - -.fa-mobile-phone:before, -.fa-mobile:before { - content: ""; -} - -.fa-circle-o:before { - content: ""; -} - -.fa-quote-left:before { - content: ""; -} - -.fa-quote-right:before { - content: ""; -} - -.fa-spinner:before { - content: ""; -} - -.fa-circle:before { - content: ""; -} - -.fa-mail-reply:before, -.fa-reply:before { - content: ""; -} - -.fa-github-alt:before { - content: ""; -} - -.fa-folder-o:before { - content: ""; -} - -.fa-folder-open-o:before { - content: ""; -} - -.fa-smile-o:before { - content: ""; -} - -.fa-frown-o:before { - content: ""; -} - -.fa-meh-o:before { - content: ""; -} - -.fa-gamepad:before { - content: ""; -} - -.fa-keyboard-o:before { - content: ""; -} - -.fa-flag-o:before { - content: ""; -} - -.fa-flag-checkered:before { - content: ""; -} - -.fa-terminal:before { - content: ""; -} - -.fa-code:before { - content: ""; -} - -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: ""; -} - -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: ""; -} - -.fa-location-arrow:before { - content: ""; -} - -.fa-crop:before { - content: ""; -} - -.fa-code-fork:before { - content: ""; -} - -.fa-unlink:before, -.fa-chain-broken:before { - content: ""; -} - -.fa-question:before { - content: ""; -} - -.fa-info:before { - content: ""; -} - -.fa-exclamation:before { - content: ""; -} - -.fa-superscript:before { - content: ""; -} - -.fa-subscript:before { - content: ""; -} - -.fa-eraser:before { - content: ""; -} - -.fa-puzzle-piece:before { - content: ""; -} - -.fa-microphone:before { - content: ""; -} - -.fa-microphone-slash:before { - content: ""; -} - -.fa-shield:before { - content: ""; -} - -.fa-calendar-o:before { - content: ""; -} - -.fa-fire-extinguisher:before { - content: ""; -} - -.fa-rocket:before { - content: ""; -} - -.fa-maxcdn:before { - content: ""; -} - -.fa-chevron-circle-left:before { - content: ""; -} - -.fa-chevron-circle-right:before { - content: ""; -} - -.fa-chevron-circle-up:before { - content: ""; -} - -.fa-chevron-circle-down:before { - content: ""; -} - -.fa-html5:before { - content: ""; -} - -.fa-css3:before { - content: ""; -} - -.fa-anchor:before { - content: ""; -} - -.fa-unlock-alt:before { - content: ""; -} - -.fa-bullseye:before { - content: ""; -} - -.fa-ellipsis-h:before { - content: ""; -} - -.fa-ellipsis-v:before { - content: ""; -} - -.fa-rss-square:before { - content: ""; -} - -.fa-play-circle:before { - content: ""; -} - -.fa-ticket:before { - content: ""; -} - -.fa-minus-square:before { - content: ""; -} - -.fa-minus-square-o:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before { - content: ""; -} - -.fa-level-up:before { - content: ""; -} - -.fa-level-down:before { - content: ""; -} - -.fa-check-square:before { - content: ""; -} - -.fa-pencil-square:before { - content: ""; -} - -.fa-external-link-square:before { - content: ""; -} - -.fa-share-square:before { - content: ""; -} - -.fa-compass:before { - content: ""; -} - -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: ""; -} - -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: ""; -} - -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: ""; -} - -.fa-euro:before, -.fa-eur:before { - content: ""; -} - -.fa-gbp:before { - content: ""; -} - -.fa-dollar:before, -.fa-usd:before { - content: ""; -} - -.fa-rupee:before, -.fa-inr:before { - content: ""; -} - -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: ""; -} - -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: ""; -} - -.fa-won:before, -.fa-krw:before { - content: ""; -} - -.fa-bitcoin:before, -.fa-btc:before { - content: ""; -} - -.fa-file:before { - content: ""; -} - -.fa-file-text:before { - content: ""; -} - -.fa-sort-alpha-asc:before { - content: ""; -} - -.fa-sort-alpha-desc:before { - content: ""; -} - -.fa-sort-amount-asc:before { - content: ""; -} - -.fa-sort-amount-desc:before { - content: ""; -} - -.fa-sort-numeric-asc:before { - content: ""; -} - -.fa-sort-numeric-desc:before { - content: ""; -} - -.fa-thumbs-up:before { - content: ""; -} - -.fa-thumbs-down:before { - content: ""; -} - -.fa-youtube-square:before { - content: ""; -} - -.fa-youtube:before { - content: ""; -} - -.fa-xing:before { - content: ""; -} - -.fa-xing-square:before { - content: ""; -} - -.fa-youtube-play:before { - content: ""; -} - -.fa-dropbox:before { - content: ""; -} - -.fa-stack-overflow:before { - content: ""; -} - -.fa-instagram:before { - content: ""; -} - -.fa-flickr:before { - content: ""; -} - -.fa-adn:before { - content: ""; -} - -.fa-bitbucket:before, .icon-bitbucket:before { - content: ""; -} - -.fa-bitbucket-square:before { - content: ""; -} - -.fa-tumblr:before { - content: ""; -} - -.fa-tumblr-square:before { - content: ""; -} - -.fa-long-arrow-down:before { - content: ""; -} - -.fa-long-arrow-up:before { - content: ""; -} - -.fa-long-arrow-left:before { - content: ""; -} - -.fa-long-arrow-right:before { - content: ""; -} - -.fa-apple:before { - content: ""; -} - -.fa-windows:before { - content: ""; -} - -.fa-android:before { - content: ""; -} - -.fa-linux:before { - content: ""; -} - -.fa-dribbble:before { - content: ""; -} - -.fa-skype:before { - content: ""; -} - -.fa-foursquare:before { - content: ""; -} - -.fa-trello:before { - content: ""; -} - -.fa-female:before { - content: ""; -} - -.fa-male:before { - content: ""; -} - -.fa-gittip:before, -.fa-gratipay:before { - content: ""; -} - -.fa-sun-o:before { - content: ""; -} - -.fa-moon-o:before { - content: ""; -} - -.fa-archive:before { - content: ""; -} - -.fa-bug:before { - content: ""; -} - -.fa-vk:before { - content: ""; -} - -.fa-weibo:before { - content: ""; -} - -.fa-renren:before { - content: ""; -} - -.fa-pagelines:before { - content: ""; -} - -.fa-stack-exchange:before { - content: ""; -} - -.fa-arrow-circle-o-right:before { - content: ""; -} - -.fa-arrow-circle-o-left:before { - content: ""; -} - -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: ""; -} - -.fa-dot-circle-o:before { - content: ""; -} - -.fa-wheelchair:before { - content: ""; -} - -.fa-vimeo-square:before { - content: ""; -} - -.fa-turkish-lira:before, -.fa-try:before { - content: ""; -} - -.fa-plus-square-o:before, .wy-menu-vertical li span.toctree-expand:before { - content: ""; -} - -.fa-space-shuttle:before { - content: ""; -} - -.fa-slack:before { - content: ""; -} - -.fa-envelope-square:before { - content: ""; -} - -.fa-wordpress:before { - content: ""; -} - -.fa-openid:before { - content: ""; -} - -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: ""; -} - -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: ""; -} - -.fa-yahoo:before { - content: ""; -} - -.fa-google:before { - content: ""; -} - -.fa-reddit:before { - content: ""; -} - -.fa-reddit-square:before { - content: ""; -} - -.fa-stumbleupon-circle:before { - content: ""; -} - -.fa-stumbleupon:before { - content: ""; -} - -.fa-delicious:before { - content: ""; -} - -.fa-digg:before { - content: ""; -} - -.fa-pied-piper-pp:before { - content: ""; -} - -.fa-pied-piper-alt:before { - content: ""; -} - -.fa-drupal:before { - content: ""; -} - -.fa-joomla:before { - content: ""; -} - -.fa-language:before { - content: ""; -} - -.fa-fax:before { - content: ""; -} - -.fa-building:before { - content: ""; -} - -.fa-child:before { - content: ""; -} - -.fa-paw:before { - content: ""; -} - -.fa-spoon:before { - content: ""; -} - -.fa-cube:before { - content: ""; -} - -.fa-cubes:before { - content: ""; -} - -.fa-behance:before { - content: ""; -} - -.fa-behance-square:before { - content: ""; -} - -.fa-steam:before { - content: ""; -} - -.fa-steam-square:before { - content: ""; -} - -.fa-recycle:before { - content: ""; -} - -.fa-automobile:before, -.fa-car:before { - content: ""; -} - -.fa-cab:before, -.fa-taxi:before { - content: ""; -} - -.fa-tree:before { - content: ""; -} - -.fa-spotify:before { - content: ""; -} - -.fa-deviantart:before { - content: ""; -} - -.fa-soundcloud:before { - content: ""; -} - -.fa-database:before { - content: ""; -} - -.fa-file-pdf-o:before { - content: ""; -} - -.fa-file-word-o:before { - content: ""; -} - -.fa-file-excel-o:before { - content: ""; -} - -.fa-file-powerpoint-o:before { - content: ""; -} - -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: ""; -} - -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: ""; -} - -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: ""; -} - -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: ""; -} - -.fa-file-code-o:before { - content: ""; -} - -.fa-vine:before { - content: ""; -} - -.fa-codepen:before { - content: ""; -} - -.fa-jsfiddle:before { - content: ""; -} - -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: ""; -} - -.fa-circle-o-notch:before { - content: ""; -} - -.fa-ra:before, -.fa-resistance:before, -.fa-rebel:before { - content: ""; -} - -.fa-ge:before, -.fa-empire:before { - content: ""; -} - -.fa-git-square:before { - content: ""; -} - -.fa-git:before { - content: ""; -} - -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: ""; -} - -.fa-tencent-weibo:before { - content: ""; -} - -.fa-qq:before { - content: ""; -} - -.fa-wechat:before, -.fa-weixin:before { - content: ""; -} - -.fa-send:before, -.fa-paper-plane:before { - content: ""; -} - -.fa-send-o:before, -.fa-paper-plane-o:before { - content: ""; -} - -.fa-history:before { - content: ""; -} - -.fa-circle-thin:before { - content: ""; -} - -.fa-header:before { - content: ""; -} - -.fa-paragraph:before { - content: ""; -} - -.fa-sliders:before { - content: ""; -} - -.fa-share-alt:before { - content: ""; -} - -.fa-share-alt-square:before { - content: ""; -} - -.fa-bomb:before { - content: ""; -} - -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: ""; -} - -.fa-tty:before { - content: ""; -} - -.fa-binoculars:before { - content: ""; -} - -.fa-plug:before { - content: ""; -} - -.fa-slideshare:before { - content: ""; -} - -.fa-twitch:before { - content: ""; -} - -.fa-yelp:before { - content: ""; -} - -.fa-newspaper-o:before { - content: ""; -} - -.fa-wifi:before { - content: ""; -} - -.fa-calculator:before { - content: ""; -} - -.fa-paypal:before { - content: ""; -} - -.fa-google-wallet:before { - content: ""; -} - -.fa-cc-visa:before { - content: ""; -} - -.fa-cc-mastercard:before { - content: ""; -} - -.fa-cc-discover:before { - content: ""; -} - -.fa-cc-amex:before { - content: ""; -} - -.fa-cc-paypal:before { - content: ""; -} - -.fa-cc-stripe:before { - content: ""; -} - -.fa-bell-slash:before { - content: ""; -} - -.fa-bell-slash-o:before { - content: ""; -} - -.fa-trash:before { - content: ""; -} - -.fa-copyright:before { - content: ""; -} - -.fa-at:before { - content: ""; -} - -.fa-eyedropper:before { - content: ""; -} - -.fa-paint-brush:before { - content: ""; -} - -.fa-birthday-cake:before { - content: ""; -} - -.fa-area-chart:before { - content: ""; -} - -.fa-pie-chart:before { - content: ""; -} - -.fa-line-chart:before { - content: ""; -} - -.fa-lastfm:before { - content: ""; -} - -.fa-lastfm-square:before { - content: ""; -} - -.fa-toggle-off:before { - content: ""; -} - -.fa-toggle-on:before { - content: ""; -} - -.fa-bicycle:before { - content: ""; -} - -.fa-bus:before { - content: ""; -} - -.fa-ioxhost:before { - content: ""; -} - -.fa-angellist:before { - content: ""; -} - -.fa-cc:before { - content: ""; -} - -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: ""; -} - -.fa-meanpath:before { - content: ""; -} - -.fa-buysellads:before { - content: ""; -} - -.fa-connectdevelop:before { - content: ""; -} - -.fa-dashcube:before { - content: ""; -} - -.fa-forumbee:before { - content: ""; -} - -.fa-leanpub:before { - content: ""; -} - -.fa-sellsy:before { - content: ""; -} - -.fa-shirtsinbulk:before { - content: ""; -} - -.fa-simplybuilt:before { - content: ""; -} - -.fa-skyatlas:before { - content: ""; -} - -.fa-cart-plus:before { - content: ""; -} - -.fa-cart-arrow-down:before { - content: ""; -} - -.fa-diamond:before { - content: ""; -} - -.fa-ship:before { - content: ""; -} - -.fa-user-secret:before { - content: ""; -} - -.fa-motorcycle:before { - content: ""; -} - -.fa-street-view:before { - content: ""; -} - -.fa-heartbeat:before { - content: ""; -} - -.fa-venus:before { - content: ""; -} - -.fa-mars:before { - content: ""; -} - -.fa-mercury:before { - content: ""; -} - -.fa-intersex:before, -.fa-transgender:before { - content: ""; -} - -.fa-transgender-alt:before { - content: ""; -} - -.fa-venus-double:before { - content: ""; -} - -.fa-mars-double:before { - content: ""; -} - -.fa-venus-mars:before { - content: ""; -} - -.fa-mars-stroke:before { - content: ""; -} - -.fa-mars-stroke-v:before { - content: ""; -} - -.fa-mars-stroke-h:before { - content: ""; -} - -.fa-neuter:before { - content: ""; -} - -.fa-genderless:before { - content: ""; -} - -.fa-facebook-official:before { - content: ""; -} - -.fa-pinterest-p:before { - content: ""; -} - -.fa-whatsapp:before { - content: ""; -} - -.fa-server:before { - content: ""; -} - -.fa-user-plus:before { - content: ""; -} - -.fa-user-times:before { - content: ""; -} - -.fa-hotel:before, -.fa-bed:before { - content: ""; -} - -.fa-viacoin:before { - content: ""; -} - -.fa-train:before { - content: ""; -} - -.fa-subway:before { - content: ""; -} - -.fa-medium:before { - content: ""; -} - -.fa-yc:before, -.fa-y-combinator:before { - content: ""; -} - -.fa-optin-monster:before { - content: ""; -} - -.fa-opencart:before { - content: ""; -} - -.fa-expeditedssl:before { - content: ""; -} - -.fa-battery-4:before, -.fa-battery:before, -.fa-battery-full:before { - content: ""; -} - -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: ""; -} - -.fa-battery-2:before, -.fa-battery-half:before { - content: ""; -} - -.fa-battery-1:before, -.fa-battery-quarter:before { - content: ""; -} - -.fa-battery-0:before, -.fa-battery-empty:before { - content: ""; -} - -.fa-mouse-pointer:before { - content: ""; -} - -.fa-i-cursor:before { - content: ""; -} - -.fa-object-group:before { - content: ""; -} - -.fa-object-ungroup:before { - content: ""; -} - -.fa-sticky-note:before { - content: ""; -} - -.fa-sticky-note-o:before { - content: ""; -} - -.fa-cc-jcb:before { - content: ""; -} - -.fa-cc-diners-club:before { - content: ""; -} - -.fa-clone:before { - content: ""; -} - -.fa-balance-scale:before { - content: ""; -} - -.fa-hourglass-o:before { - content: ""; -} - -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: ""; -} - -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: ""; -} - -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: ""; -} - -.fa-hourglass:before { - content: ""; -} - -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: ""; -} - -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: ""; -} - -.fa-hand-scissors-o:before { - content: ""; -} - -.fa-hand-lizard-o:before { - content: ""; -} - -.fa-hand-spock-o:before { - content: ""; -} - -.fa-hand-pointer-o:before { - content: ""; -} - -.fa-hand-peace-o:before { - content: ""; -} - -.fa-trademark:before { - content: ""; -} - -.fa-registered:before { - content: ""; -} - -.fa-creative-commons:before { - content: ""; -} - -.fa-gg:before { - content: ""; -} - -.fa-gg-circle:before { - content: ""; -} - -.fa-tripadvisor:before { - content: ""; -} - -.fa-odnoklassniki:before { - content: ""; -} - -.fa-odnoklassniki-square:before { - content: ""; -} - -.fa-get-pocket:before { - content: ""; -} - -.fa-wikipedia-w:before { - content: ""; -} - -.fa-safari:before { - content: ""; -} - -.fa-chrome:before { - content: ""; -} - -.fa-firefox:before { - content: ""; -} - -.fa-opera:before { - content: ""; -} - -.fa-internet-explorer:before { - content: ""; -} - -.fa-tv:before, -.fa-television:before { - content: ""; -} - -.fa-contao:before { - content: ""; -} - -.fa-500px:before { - content: ""; -} - -.fa-amazon:before { - content: ""; -} - -.fa-calendar-plus-o:before { - content: ""; -} - -.fa-calendar-minus-o:before { - content: ""; -} - -.fa-calendar-times-o:before { - content: ""; -} - -.fa-calendar-check-o:before { - content: ""; -} - -.fa-industry:before { - content: ""; -} - -.fa-map-pin:before { - content: ""; -} - -.fa-map-signs:before { - content: ""; -} - -.fa-map-o:before { - content: ""; -} - -.fa-map:before { - content: ""; -} - -.fa-commenting:before { - content: ""; -} - -.fa-commenting-o:before { - content: ""; -} - -.fa-houzz:before { - content: ""; -} - -.fa-vimeo:before { - content: ""; -} - -.fa-black-tie:before { - content: ""; -} - -.fa-fonticons:before { - content: ""; -} - -.fa-reddit-alien:before { - content: ""; -} - -.fa-edge:before { - content: ""; -} - -.fa-credit-card-alt:before { - content: ""; -} - -.fa-codiepie:before { - content: ""; -} - -.fa-modx:before { - content: ""; -} - -.fa-fort-awesome:before { - content: ""; -} - -.fa-usb:before { - content: ""; -} - -.fa-product-hunt:before { - content: ""; -} - -.fa-mixcloud:before { - content: ""; -} - -.fa-scribd:before { - content: ""; -} - -.fa-pause-circle:before { - content: ""; -} - -.fa-pause-circle-o:before { - content: ""; -} - -.fa-stop-circle:before { - content: ""; -} - -.fa-stop-circle-o:before { - content: ""; -} - -.fa-shopping-bag:before { - content: ""; -} - -.fa-shopping-basket:before { - content: ""; -} - -.fa-hashtag:before { - content: ""; -} - -.fa-bluetooth:before { - content: ""; -} - -.fa-bluetooth-b:before { - content: ""; -} - -.fa-percent:before { - content: ""; -} - -.fa-gitlab:before, .icon-gitlab:before { - content: ""; -} - -.fa-wpbeginner:before { - content: ""; -} - -.fa-wpforms:before { - content: ""; -} - -.fa-envira:before { - content: ""; -} - -.fa-universal-access:before { - content: ""; -} - -.fa-wheelchair-alt:before { - content: ""; -} - -.fa-question-circle-o:before { - content: ""; -} - -.fa-blind:before { - content: ""; -} - -.fa-audio-description:before { - content: ""; -} - -.fa-volume-control-phone:before { - content: ""; -} - -.fa-braille:before { - content: ""; -} - -.fa-assistive-listening-systems:before { - content: ""; -} - -.fa-asl-interpreting:before, -.fa-american-sign-language-interpreting:before { - content: ""; -} - -.fa-deafness:before, -.fa-hard-of-hearing:before, -.fa-deaf:before { - content: ""; -} - -.fa-glide:before { - content: ""; -} - -.fa-glide-g:before { - content: ""; -} - -.fa-signing:before, -.fa-sign-language:before { - content: ""; -} - -.fa-low-vision:before { - content: ""; -} - -.fa-viadeo:before { - content: ""; -} - -.fa-viadeo-square:before { - content: ""; -} - -.fa-snapchat:before { - content: ""; -} - -.fa-snapchat-ghost:before { - content: ""; -} - -.fa-snapchat-square:before { - content: ""; -} - -.fa-pied-piper:before { - content: ""; -} - -.fa-first-order:before { - content: ""; -} - -.fa-yoast:before { - content: ""; -} - -.fa-themeisle:before { - content: ""; -} - -.fa-google-plus-circle:before, -.fa-google-plus-official:before { - content: ""; -} - -.fa-fa:before, -.fa-font-awesome:before { - content: ""; -} - -.fa-handshake-o:before { - content: ""; -} - -.fa-envelope-open:before { - content: ""; -} - -.fa-envelope-open-o:before { - content: ""; -} - -.fa-linode:before { - content: ""; -} - -.fa-address-book:before { - content: ""; -} - -.fa-address-book-o:before { - content: ""; -} - -.fa-vcard:before, -.fa-address-card:before { - content: ""; -} - -.fa-vcard-o:before, -.fa-address-card-o:before { - content: ""; -} - -.fa-user-circle:before { - content: ""; -} - -.fa-user-circle-o:before { - content: ""; -} - -.fa-user-o:before { - content: ""; -} - -.fa-id-badge:before { - content: ""; -} - -.fa-drivers-license:before, -.fa-id-card:before { - content: ""; -} - -.fa-drivers-license-o:before, -.fa-id-card-o:before { - content: ""; -} - -.fa-quora:before { - content: ""; -} - -.fa-free-code-camp:before { - content: ""; -} - -.fa-telegram:before { - content: ""; -} - -.fa-thermometer-4:before, -.fa-thermometer:before, -.fa-thermometer-full:before { - content: ""; -} - -.fa-thermometer-3:before, -.fa-thermometer-three-quarters:before { - content: ""; -} - -.fa-thermometer-2:before, -.fa-thermometer-half:before { - content: ""; -} - -.fa-thermometer-1:before, -.fa-thermometer-quarter:before { - content: ""; -} - -.fa-thermometer-0:before, -.fa-thermometer-empty:before { - content: ""; -} - -.fa-shower:before { - content: ""; -} - -.fa-bathtub:before, -.fa-s15:before, -.fa-bath:before { - content: ""; -} - -.fa-podcast:before { - content: ""; -} - -.fa-window-maximize:before { - content: ""; -} - -.fa-window-minimize:before { - content: ""; -} - -.fa-window-restore:before { - content: ""; -} - -.fa-times-rectangle:before, -.fa-window-close:before { - content: ""; -} - -.fa-times-rectangle-o:before, -.fa-window-close-o:before { - content: ""; -} - -.fa-bandcamp:before { - content: ""; -} - -.fa-grav:before { - content: ""; -} - -.fa-etsy:before { - content: ""; -} - -.fa-imdb:before { - content: ""; -} - -.fa-ravelry:before { - content: ""; -} - -.fa-eercast:before { - content: ""; -} - -.fa-microchip:before { - content: ""; -} - -.fa-snowflake-o:before { - content: ""; -} - -.fa-superpowers:before { - content: ""; -} - -.fa-wpexplorer:before { - content: ""; -} - -.fa-meetup:before { - content: ""; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} - -.fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon, .wy-dropdown .caret, .wy-inline-validate.wy-inline-validate-success .wy-input-context, .wy-inline-validate.wy-inline-validate-danger .wy-input-context, .wy-inline-validate.wy-inline-validate-warning .wy-input-context, .wy-inline-validate.wy-inline-validate-info .wy-input-context { - font-family: inherit; -} -.fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before { - font-family: "FontAwesome"; - display: inline-block; - font-style: normal; - font-weight: normal; - line-height: 1; - text-decoration: inherit; -} - -a .fa, a .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li a span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, a .rst-content .admonition-title, .rst-content a .admonition-title, a .rst-content h1 .headerlink, .rst-content h1 a .headerlink, a .rst-content h2 .headerlink, .rst-content h2 a .headerlink, a .rst-content h3 .headerlink, .rst-content h3 a .headerlink, a .rst-content h4 .headerlink, .rst-content h4 a .headerlink, a .rst-content h5 .headerlink, .rst-content h5 a .headerlink, a .rst-content h6 .headerlink, .rst-content h6 a .headerlink, a .rst-content dl dt .headerlink, .rst-content dl dt a .headerlink, a .rst-content p.caption .headerlink, .rst-content p.caption a .headerlink, a .rst-content tt.download span:first-child, .rst-content tt.download a span:first-child, a .rst-content code.download span:first-child, .rst-content code.download a span:first-child, a .icon { - display: inline-block; - text-decoration: inherit; -} - -.btn .fa, .btn .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .btn span.toctree-expand, .btn .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .btn span.toctree-expand, .btn .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .btn span.toctree-expand, .btn .rst-content .admonition-title, .rst-content .btn .admonition-title, .btn .rst-content h1 .headerlink, .rst-content h1 .btn .headerlink, .btn .rst-content h2 .headerlink, .rst-content h2 .btn .headerlink, .btn .rst-content h3 .headerlink, .rst-content h3 .btn .headerlink, .btn .rst-content h4 .headerlink, .rst-content h4 .btn .headerlink, .btn .rst-content h5 .headerlink, .rst-content h5 .btn .headerlink, .btn .rst-content h6 .headerlink, .rst-content h6 .btn .headerlink, .btn .rst-content dl dt .headerlink, .rst-content dl dt .btn .headerlink, .btn .rst-content p.caption .headerlink, .rst-content p.caption .btn .headerlink, .btn .rst-content tt.download span:first-child, .rst-content tt.download .btn span:first-child, .btn .rst-content code.download span:first-child, .rst-content code.download .btn span:first-child, .btn .icon, .nav .fa, .nav .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .nav span.toctree-expand, .nav .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .nav span.toctree-expand, .nav .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .nav span.toctree-expand, .nav .rst-content .admonition-title, .rst-content .nav .admonition-title, .nav .rst-content h1 .headerlink, .rst-content h1 .nav .headerlink, .nav .rst-content h2 .headerlink, .rst-content h2 .nav .headerlink, .nav .rst-content h3 .headerlink, .rst-content h3 .nav .headerlink, .nav .rst-content h4 .headerlink, .rst-content h4 .nav .headerlink, .nav .rst-content h5 .headerlink, .rst-content h5 .nav .headerlink, .nav .rst-content h6 .headerlink, .rst-content h6 .nav .headerlink, .nav .rst-content dl dt .headerlink, .rst-content dl dt .nav .headerlink, .nav .rst-content p.caption .headerlink, .rst-content p.caption .nav .headerlink, .nav .rst-content tt.download span:first-child, .rst-content tt.download .nav span:first-child, .nav .rst-content code.download span:first-child, .rst-content code.download .nav span:first-child, .nav .icon { - display: inline; -} -.btn .fa.fa-large, .btn .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .btn span.fa-large.toctree-expand, .btn .rst-content .fa-large.admonition-title, .rst-content .btn .fa-large.admonition-title, .btn .rst-content h1 .fa-large.headerlink, .rst-content h1 .btn .fa-large.headerlink, .btn .rst-content h2 .fa-large.headerlink, .rst-content h2 .btn .fa-large.headerlink, .btn .rst-content h3 .fa-large.headerlink, .rst-content h3 .btn .fa-large.headerlink, .btn .rst-content h4 .fa-large.headerlink, .rst-content h4 .btn .fa-large.headerlink, .btn .rst-content h5 .fa-large.headerlink, .rst-content h5 .btn .fa-large.headerlink, .btn .rst-content h6 .fa-large.headerlink, .rst-content h6 .btn .fa-large.headerlink, .btn .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .btn .fa-large.headerlink, .btn .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .btn .fa-large.headerlink, .btn .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .btn span.fa-large:first-child, .btn .rst-content code.download span.fa-large:first-child, .rst-content code.download .btn span.fa-large:first-child, .btn .fa-large.icon, .nav .fa.fa-large, .nav .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .nav span.fa-large.toctree-expand, .nav .rst-content .fa-large.admonition-title, .rst-content .nav .fa-large.admonition-title, .nav .rst-content h1 .fa-large.headerlink, .rst-content h1 .nav .fa-large.headerlink, .nav .rst-content h2 .fa-large.headerlink, .rst-content h2 .nav .fa-large.headerlink, .nav .rst-content h3 .fa-large.headerlink, .rst-content h3 .nav .fa-large.headerlink, .nav .rst-content h4 .fa-large.headerlink, .rst-content h4 .nav .fa-large.headerlink, .nav .rst-content h5 .fa-large.headerlink, .rst-content h5 .nav .fa-large.headerlink, .nav .rst-content h6 .fa-large.headerlink, .rst-content h6 .nav .fa-large.headerlink, .nav .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .nav .fa-large.headerlink, .nav .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .nav .fa-large.headerlink, .nav .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .nav span.fa-large:first-child, .nav .rst-content code.download span.fa-large:first-child, .rst-content code.download .nav span.fa-large:first-child, .nav .fa-large.icon { - line-height: 0.9em; -} -.btn .fa.fa-spin, .btn .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .btn span.fa-spin.toctree-expand, .btn .rst-content .fa-spin.admonition-title, .rst-content .btn .fa-spin.admonition-title, .btn .rst-content h1 .fa-spin.headerlink, .rst-content h1 .btn .fa-spin.headerlink, .btn .rst-content h2 .fa-spin.headerlink, .rst-content h2 .btn .fa-spin.headerlink, .btn .rst-content h3 .fa-spin.headerlink, .rst-content h3 .btn .fa-spin.headerlink, .btn .rst-content h4 .fa-spin.headerlink, .rst-content h4 .btn .fa-spin.headerlink, .btn .rst-content h5 .fa-spin.headerlink, .rst-content h5 .btn .fa-spin.headerlink, .btn .rst-content h6 .fa-spin.headerlink, .rst-content h6 .btn .fa-spin.headerlink, .btn .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .btn .fa-spin.headerlink, .btn .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .btn .fa-spin.headerlink, .btn .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .btn span.fa-spin:first-child, .btn .rst-content code.download span.fa-spin:first-child, .rst-content code.download .btn span.fa-spin:first-child, .btn .fa-spin.icon, .nav .fa.fa-spin, .nav .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .nav span.fa-spin.toctree-expand, .nav .rst-content .fa-spin.admonition-title, .rst-content .nav .fa-spin.admonition-title, .nav .rst-content h1 .fa-spin.headerlink, .rst-content h1 .nav .fa-spin.headerlink, .nav .rst-content h2 .fa-spin.headerlink, .rst-content h2 .nav .fa-spin.headerlink, .nav .rst-content h3 .fa-spin.headerlink, .rst-content h3 .nav .fa-spin.headerlink, .nav .rst-content h4 .fa-spin.headerlink, .rst-content h4 .nav .fa-spin.headerlink, .nav .rst-content h5 .fa-spin.headerlink, .rst-content h5 .nav .fa-spin.headerlink, .nav .rst-content h6 .fa-spin.headerlink, .rst-content h6 .nav .fa-spin.headerlink, .nav .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .nav .fa-spin.headerlink, .nav .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .nav .fa-spin.headerlink, .nav .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .nav span.fa-spin:first-child, .nav .rst-content code.download span.fa-spin:first-child, .rst-content code.download .nav span.fa-spin:first-child, .nav .fa-spin.icon { - display: inline-block; -} - -.btn.fa:before, .wy-menu-vertical li span.btn.toctree-expand:before, .rst-content .btn.admonition-title:before, .rst-content h1 .btn.headerlink:before, .rst-content h2 .btn.headerlink:before, .rst-content h3 .btn.headerlink:before, .rst-content h4 .btn.headerlink:before, .rst-content h5 .btn.headerlink:before, .rst-content h6 .btn.headerlink:before, .rst-content dl dt .btn.headerlink:before, .rst-content p.caption .btn.headerlink:before, .rst-content tt.download span.btn:first-child:before, .rst-content code.download span.btn:first-child:before, .btn.icon:before { - opacity: 0.5; - -webkit-transition: opacity 0.05s ease-in; - -moz-transition: opacity 0.05s ease-in; - transition: opacity 0.05s ease-in; -} - -.btn.fa:hover:before, .wy-menu-vertical li span.btn.toctree-expand:hover:before, .rst-content .btn.admonition-title:hover:before, .rst-content h1 .btn.headerlink:hover:before, .rst-content h2 .btn.headerlink:hover:before, .rst-content h3 .btn.headerlink:hover:before, .rst-content h4 .btn.headerlink:hover:before, .rst-content h5 .btn.headerlink:hover:before, .rst-content h6 .btn.headerlink:hover:before, .rst-content dl dt .btn.headerlink:hover:before, .rst-content p.caption .btn.headerlink:hover:before, .rst-content tt.download span.btn:first-child:hover:before, .rst-content code.download span.btn:first-child:hover:before, .btn.icon:hover:before { - opacity: 1; -} - -.btn-mini .fa:before, .btn-mini .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li .btn-mini span.toctree-expand:before, .btn-mini .rst-content .admonition-title:before, .rst-content .btn-mini .admonition-title:before, .btn-mini .rst-content h1 .headerlink:before, .rst-content h1 .btn-mini .headerlink:before, .btn-mini .rst-content h2 .headerlink:before, .rst-content h2 .btn-mini .headerlink:before, .btn-mini .rst-content h3 .headerlink:before, .rst-content h3 .btn-mini .headerlink:before, .btn-mini .rst-content h4 .headerlink:before, .rst-content h4 .btn-mini .headerlink:before, .btn-mini .rst-content h5 .headerlink:before, .rst-content h5 .btn-mini .headerlink:before, .btn-mini .rst-content h6 .headerlink:before, .rst-content h6 .btn-mini .headerlink:before, .btn-mini .rst-content dl dt .headerlink:before, .rst-content dl dt .btn-mini .headerlink:before, .btn-mini .rst-content p.caption .headerlink:before, .rst-content p.caption .btn-mini .headerlink:before, .btn-mini .rst-content tt.download span:first-child:before, .rst-content tt.download .btn-mini span:first-child:before, .btn-mini .rst-content code.download span:first-child:before, .rst-content code.download .btn-mini span:first-child:before, .btn-mini .icon:before { - font-size: 14px; - vertical-align: -15%; -} - -.wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo { - padding: 12px; - line-height: 24px; - margin-bottom: 24px; - background: #e7f2fa; -} - -.wy-alert-title, .rst-content .admonition-title { - color: #fff; - font-weight: bold; - display: block; - color: #fff; - background: #6ab0de; - margin: -12px; - padding: 6px 12px; - margin-bottom: 12px; -} - -.wy-alert.wy-alert-danger, .rst-content .wy-alert-danger.note, .rst-content .wy-alert-danger.attention, .rst-content .wy-alert-danger.caution, .rst-content .danger, .rst-content .error, .rst-content .wy-alert-danger.hint, .rst-content .wy-alert-danger.important, .rst-content .wy-alert-danger.tip, .rst-content .wy-alert-danger.warning, .rst-content .wy-alert-danger.seealso, .rst-content .wy-alert-danger.admonition-todo { - background: #fdf3f2; -} -.wy-alert.wy-alert-danger .wy-alert-title, .rst-content .wy-alert-danger.note .wy-alert-title, .rst-content .wy-alert-danger.attention .wy-alert-title, .rst-content .wy-alert-danger.caution .wy-alert-title, .rst-content .danger .wy-alert-title, .rst-content .error .wy-alert-title, .rst-content .wy-alert-danger.hint .wy-alert-title, .rst-content .wy-alert-danger.important .wy-alert-title, .rst-content .wy-alert-danger.tip .wy-alert-title, .rst-content .wy-alert-danger.warning .wy-alert-title, .rst-content .wy-alert-danger.seealso .wy-alert-title, .rst-content .wy-alert-danger.admonition-todo .wy-alert-title, .wy-alert.wy-alert-danger .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-danger .admonition-title, .rst-content .wy-alert-danger.note .admonition-title, .rst-content .wy-alert-danger.attention .admonition-title, .rst-content .wy-alert-danger.caution .admonition-title, .rst-content .danger .admonition-title, .rst-content .error .admonition-title, .rst-content .wy-alert-danger.hint .admonition-title, .rst-content .wy-alert-danger.important .admonition-title, .rst-content .wy-alert-danger.tip .admonition-title, .rst-content .wy-alert-danger.warning .admonition-title, .rst-content .wy-alert-danger.seealso .admonition-title, .rst-content .wy-alert-danger.admonition-todo .admonition-title { - background: #f29f97; -} - -.wy-alert.wy-alert-warning, .rst-content .wy-alert-warning.note, .rst-content .attention, .rst-content .caution, .rst-content .wy-alert-warning.danger, .rst-content .wy-alert-warning.error, .rst-content .wy-alert-warning.hint, .rst-content .wy-alert-warning.important, .rst-content .wy-alert-warning.tip, .rst-content .warning, .rst-content .wy-alert-warning.seealso, .rst-content .admonition-todo { - background: #ffedcc; -} -.wy-alert.wy-alert-warning .wy-alert-title, .rst-content .wy-alert-warning.note .wy-alert-title, .rst-content .attention .wy-alert-title, .rst-content .caution .wy-alert-title, .rst-content .wy-alert-warning.danger .wy-alert-title, .rst-content .wy-alert-warning.error .wy-alert-title, .rst-content .wy-alert-warning.hint .wy-alert-title, .rst-content .wy-alert-warning.important .wy-alert-title, .rst-content .wy-alert-warning.tip .wy-alert-title, .rst-content .warning .wy-alert-title, .rst-content .wy-alert-warning.seealso .wy-alert-title, .rst-content .admonition-todo .wy-alert-title, .wy-alert.wy-alert-warning .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-warning .admonition-title, .rst-content .wy-alert-warning.note .admonition-title, .rst-content .attention .admonition-title, .rst-content .caution .admonition-title, .rst-content .wy-alert-warning.danger .admonition-title, .rst-content .wy-alert-warning.error .admonition-title, .rst-content .wy-alert-warning.hint .admonition-title, .rst-content .wy-alert-warning.important .admonition-title, .rst-content .wy-alert-warning.tip .admonition-title, .rst-content .warning .admonition-title, .rst-content .wy-alert-warning.seealso .admonition-title, .rst-content .admonition-todo .admonition-title { - background: #f0b37e; -} - -.wy-alert.wy-alert-info, .rst-content .note, .rst-content .wy-alert-info.attention, .rst-content .wy-alert-info.caution, .rst-content .wy-alert-info.danger, .rst-content .wy-alert-info.error, .rst-content .wy-alert-info.hint, .rst-content .wy-alert-info.important, .rst-content .wy-alert-info.tip, .rst-content .wy-alert-info.warning, .rst-content .seealso, .rst-content .wy-alert-info.admonition-todo { - background: #e7f2fa; -} -.wy-alert.wy-alert-info .wy-alert-title, .rst-content .note .wy-alert-title, .rst-content .wy-alert-info.attention .wy-alert-title, .rst-content .wy-alert-info.caution .wy-alert-title, .rst-content .wy-alert-info.danger .wy-alert-title, .rst-content .wy-alert-info.error .wy-alert-title, .rst-content .wy-alert-info.hint .wy-alert-title, .rst-content .wy-alert-info.important .wy-alert-title, .rst-content .wy-alert-info.tip .wy-alert-title, .rst-content .wy-alert-info.warning .wy-alert-title, .rst-content .seealso .wy-alert-title, .rst-content .wy-alert-info.admonition-todo .wy-alert-title, .wy-alert.wy-alert-info .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-info .admonition-title, .rst-content .note .admonition-title, .rst-content .wy-alert-info.attention .admonition-title, .rst-content .wy-alert-info.caution .admonition-title, .rst-content .wy-alert-info.danger .admonition-title, .rst-content .wy-alert-info.error .admonition-title, .rst-content .wy-alert-info.hint .admonition-title, .rst-content .wy-alert-info.important .admonition-title, .rst-content .wy-alert-info.tip .admonition-title, .rst-content .wy-alert-info.warning .admonition-title, .rst-content .seealso .admonition-title, .rst-content .wy-alert-info.admonition-todo .admonition-title { - background: #6ab0de; -} - -.wy-alert.wy-alert-success, .rst-content .wy-alert-success.note, .rst-content .wy-alert-success.attention, .rst-content .wy-alert-success.caution, .rst-content .wy-alert-success.danger, .rst-content .wy-alert-success.error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .wy-alert-success.warning, .rst-content .wy-alert-success.seealso, .rst-content .wy-alert-success.admonition-todo { - background: #dbfaf4; -} -.wy-alert.wy-alert-success .wy-alert-title, .rst-content .wy-alert-success.note .wy-alert-title, .rst-content .wy-alert-success.attention .wy-alert-title, .rst-content .wy-alert-success.caution .wy-alert-title, .rst-content .wy-alert-success.danger .wy-alert-title, .rst-content .wy-alert-success.error .wy-alert-title, .rst-content .hint .wy-alert-title, .rst-content .important .wy-alert-title, .rst-content .tip .wy-alert-title, .rst-content .wy-alert-success.warning .wy-alert-title, .rst-content .wy-alert-success.seealso .wy-alert-title, .rst-content .wy-alert-success.admonition-todo .wy-alert-title, .wy-alert.wy-alert-success .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-success .admonition-title, .rst-content .wy-alert-success.note .admonition-title, .rst-content .wy-alert-success.attention .admonition-title, .rst-content .wy-alert-success.caution .admonition-title, .rst-content .wy-alert-success.danger .admonition-title, .rst-content .wy-alert-success.error .admonition-title, .rst-content .hint .admonition-title, .rst-content .important .admonition-title, .rst-content .tip .admonition-title, .rst-content .wy-alert-success.warning .admonition-title, .rst-content .wy-alert-success.seealso .admonition-title, .rst-content .wy-alert-success.admonition-todo .admonition-title { - background: #1abc9c; -} - -.wy-alert.wy-alert-neutral, .rst-content .wy-alert-neutral.note, .rst-content .wy-alert-neutral.attention, .rst-content .wy-alert-neutral.caution, .rst-content .wy-alert-neutral.danger, .rst-content .wy-alert-neutral.error, .rst-content .wy-alert-neutral.hint, .rst-content .wy-alert-neutral.important, .rst-content .wy-alert-neutral.tip, .rst-content .wy-alert-neutral.warning, .rst-content .wy-alert-neutral.seealso, .rst-content .wy-alert-neutral.admonition-todo { - background: #f3f6f6; -} -.wy-alert.wy-alert-neutral .wy-alert-title, .rst-content .wy-alert-neutral.note .wy-alert-title, .rst-content .wy-alert-neutral.attention .wy-alert-title, .rst-content .wy-alert-neutral.caution .wy-alert-title, .rst-content .wy-alert-neutral.danger .wy-alert-title, .rst-content .wy-alert-neutral.error .wy-alert-title, .rst-content .wy-alert-neutral.hint .wy-alert-title, .rst-content .wy-alert-neutral.important .wy-alert-title, .rst-content .wy-alert-neutral.tip .wy-alert-title, .rst-content .wy-alert-neutral.warning .wy-alert-title, .rst-content .wy-alert-neutral.seealso .wy-alert-title, .rst-content .wy-alert-neutral.admonition-todo .wy-alert-title, .wy-alert.wy-alert-neutral .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-neutral .admonition-title, .rst-content .wy-alert-neutral.note .admonition-title, .rst-content .wy-alert-neutral.attention .admonition-title, .rst-content .wy-alert-neutral.caution .admonition-title, .rst-content .wy-alert-neutral.danger .admonition-title, .rst-content .wy-alert-neutral.error .admonition-title, .rst-content .wy-alert-neutral.hint .admonition-title, .rst-content .wy-alert-neutral.important .admonition-title, .rst-content .wy-alert-neutral.tip .admonition-title, .rst-content .wy-alert-neutral.warning .admonition-title, .rst-content .wy-alert-neutral.seealso .admonition-title, .rst-content .wy-alert-neutral.admonition-todo .admonition-title { - color: #404040; - background: #e1e4e5; -} -.wy-alert.wy-alert-neutral a, .rst-content .wy-alert-neutral.note a, .rst-content .wy-alert-neutral.attention a, .rst-content .wy-alert-neutral.caution a, .rst-content .wy-alert-neutral.danger a, .rst-content .wy-alert-neutral.error a, .rst-content .wy-alert-neutral.hint a, .rst-content .wy-alert-neutral.important a, .rst-content .wy-alert-neutral.tip a, .rst-content .wy-alert-neutral.warning a, .rst-content .wy-alert-neutral.seealso a, .rst-content .wy-alert-neutral.admonition-todo a { - color: #2980B9; -} - -.wy-alert p:last-child, .rst-content .note p:last-child, .rst-content .attention p:last-child, .rst-content .caution p:last-child, .rst-content .danger p:last-child, .rst-content .error p:last-child, .rst-content .hint p:last-child, .rst-content .important p:last-child, .rst-content .tip p:last-child, .rst-content .warning p:last-child, .rst-content .seealso p:last-child, .rst-content .admonition-todo p:last-child { - margin-bottom: 0; -} - -.wy-tray-container { - position: fixed; - bottom: 0px; - left: 0; - z-index: 600; -} -.wy-tray-container li { - display: block; - width: 300px; - background: transparent; - color: #fff; - text-align: center; - box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1); - padding: 0 24px; - min-width: 20%; - opacity: 0; - height: 0; - line-height: 56px; - overflow: hidden; - -webkit-transition: all 0.3s ease-in; - -moz-transition: all 0.3s ease-in; - transition: all 0.3s ease-in; -} -.wy-tray-container li.wy-tray-item-success { - background: #27AE60; -} -.wy-tray-container li.wy-tray-item-info { - background: #2980B9; -} -.wy-tray-container li.wy-tray-item-warning { - background: #E67E22; -} -.wy-tray-container li.wy-tray-item-danger { - background: #E74C3C; -} -.wy-tray-container li.on { - opacity: 1; - height: 56px; -} - -@media screen and (max-width: 768px) { - .wy-tray-container { - bottom: auto; - top: 0; - width: 100%; - } - .wy-tray-container li { - width: 100%; - } -} -button { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; - cursor: pointer; - line-height: normal; - -webkit-appearance: button; - *overflow: visible; -} - -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; -} - -button[disabled] { - cursor: default; -} - -.btn { - /* Structure */ - display: inline-block; - border-radius: 2px; - line-height: normal; - white-space: nowrap; - text-align: center; - cursor: pointer; - font-size: 100%; - padding: 6px 12px 8px 12px; - color: #fff; - border: 1px solid rgba(0, 0, 0, 0.1); - background-color: #27AE60; - text-decoration: none; - font-weight: normal; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - box-shadow: 0px 1px 2px -1px rgba(255, 255, 255, 0.5) inset, 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset; - outline-none: false; - vertical-align: middle; - *display: inline; - zoom: 1; - -webkit-user-drag: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-transition: all 0.1s linear; - -moz-transition: all 0.1s linear; - transition: all 0.1s linear; -} - -.btn-hover { - background: #2e8ece; - color: #fff; -} - -.btn:hover { - background: #2cc36b; - color: #fff; -} -.btn:focus { - background: #2cc36b; - outline: 0; -} -.btn:active { - box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.05) inset, 0px 2px 0px 0px rgba(0, 0, 0, 0.1) inset; - padding: 8px 12px 6px 12px; -} -.btn:visited { - color: #fff; -} -.btn:disabled { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} - -.btn-disabled { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} -.btn-disabled:hover, .btn-disabled:focus, .btn-disabled:active { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} - -.btn::-moz-focus-inner { - padding: 0; - border: 0; -} - -.btn-small { - font-size: 80%; -} - -.btn-info { - background-color: #2980B9 !important; -} -.btn-info:hover { - background-color: #2e8ece !important; -} - -.btn-neutral { - background-color: #f3f6f6 !important; - color: #404040 !important; -} -.btn-neutral:hover { - background-color: #e5ebeb !important; - color: #404040; -} -.btn-neutral:visited { - color: #404040 !important; -} - -.btn-success { - background-color: #27AE60 !important; -} -.btn-success:hover { - background-color: #229955 !important; -} - -.btn-danger { - background-color: #E74C3C !important; -} -.btn-danger:hover { - background-color: #ea6153 !important; -} - -.btn-warning { - background-color: #E67E22 !important; -} -.btn-warning:hover { - background-color: #e98b39 !important; -} - -.btn-invert { - background-color: #222; -} -.btn-invert:hover { - background-color: #2f2f2f !important; -} - -.btn-link { - background-color: transparent !important; - color: #2980B9; - box-shadow: none; - border-color: transparent !important; -} -.btn-link:hover { - background-color: transparent !important; - color: #409ad5 !important; - box-shadow: none; -} -.btn-link:active { - background-color: transparent !important; - color: #409ad5 !important; - box-shadow: none; -} -.btn-link:visited { - color: #9B59B6; -} - -.wy-btn-group .btn, .wy-control .btn { - vertical-align: middle; -} - -.wy-btn-group { - margin-bottom: 24px; - *zoom: 1; -} -.wy-btn-group:before, .wy-btn-group:after { - display: table; - content: ""; -} -.wy-btn-group:after { - clear: both; -} - -.wy-dropdown { - position: relative; - display: inline-block; -} - -.wy-dropdown-active .wy-dropdown-menu { - display: block; -} - -.wy-dropdown-menu { - position: absolute; - left: 0; - display: none; - float: left; - top: 100%; - min-width: 100%; - background: #fcfcfc; - z-index: 100; - border: solid 1px #cfd7dd; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); - padding: 12px; -} -.wy-dropdown-menu > dd > a { - display: block; - clear: both; - color: #404040; - white-space: nowrap; - font-size: 90%; - padding: 0 12px; - cursor: pointer; -} -.wy-dropdown-menu > dd > a:hover { - background: #2980B9; - color: #fff; -} -.wy-dropdown-menu > dd.divider { - border-top: solid 1px #cfd7dd; - margin: 6px 0; -} -.wy-dropdown-menu > dd.search { - padding-bottom: 12px; -} -.wy-dropdown-menu > dd.search input[type="search"] { - width: 100%; -} -.wy-dropdown-menu > dd.call-to-action { - background: #e3e3e3; - text-transform: uppercase; - font-weight: 500; - font-size: 80%; -} -.wy-dropdown-menu > dd.call-to-action:hover { - background: #e3e3e3; -} -.wy-dropdown-menu > dd.call-to-action .btn { - color: #fff; -} - -.wy-dropdown.wy-dropdown-up .wy-dropdown-menu { - bottom: 100%; - top: auto; - left: auto; - right: 0; -} - -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu { - background: #fcfcfc; - margin-top: 2px; -} -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a { - padding: 6px 12px; -} -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { - background: #2980B9; - color: #fff; -} - -.wy-dropdown.wy-dropdown-left .wy-dropdown-menu { - right: 0; - left: auto; - text-align: right; -} - -.wy-dropdown-arrow:before { - content: " "; - border-bottom: 5px solid whitesmoke; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - position: absolute; - display: block; - top: -4px; - left: 50%; - margin-left: -3px; -} -.wy-dropdown-arrow.wy-dropdown-arrow-left:before { - left: 11px; -} - -.wy-form-stacked select { - display: block; -} - -.wy-form-aligned input, .wy-form-aligned textarea, .wy-form-aligned select, .wy-form-aligned .wy-help-inline, .wy-form-aligned label { - display: inline-block; - *display: inline; - *zoom: 1; - vertical-align: middle; -} - -.wy-form-aligned .wy-control-group > label { - display: inline-block; - vertical-align: middle; - width: 10em; - margin: 6px 12px 0 0; - float: left; -} -.wy-form-aligned .wy-control { - float: left; -} -.wy-form-aligned .wy-control label { - display: block; -} -.wy-form-aligned .wy-control select { - margin-top: 6px; -} - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -legend { - display: block; - width: 100%; - border: 0; - padding: 0; - white-space: normal; - margin-bottom: 24px; - font-size: 150%; - *margin-left: -7px; -} - -label { - display: block; - margin: 0 0 0.3125em 0; - color: #333; - font-size: 90%; -} - -input, select, textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; -} - -.wy-control-group { - margin-bottom: 24px; - *zoom: 1; - max-width: 68em; - margin-left: auto; - margin-right: auto; - *zoom: 1; -} -.wy-control-group:before, .wy-control-group:after { - display: table; - content: ""; -} -.wy-control-group:after { - clear: both; -} -.wy-control-group:before, .wy-control-group:after { - display: table; - content: ""; -} -.wy-control-group:after { - clear: both; -} - -.wy-control-group.wy-control-group-required > label:after { - content: " *"; - color: #E74C3C; -} - -.wy-control-group .wy-form-full, .wy-control-group .wy-form-halves, .wy-control-group .wy-form-thirds { - padding-bottom: 12px; -} -.wy-control-group .wy-form-full select, .wy-control-group .wy-form-halves select, .wy-control-group .wy-form-thirds select { - width: 100%; -} -.wy-control-group .wy-form-full input[type="text"], .wy-control-group .wy-form-full input[type="password"], .wy-control-group .wy-form-full input[type="email"], .wy-control-group .wy-form-full input[type="url"], .wy-control-group .wy-form-full input[type="date"], .wy-control-group .wy-form-full input[type="month"], .wy-control-group .wy-form-full input[type="time"], .wy-control-group .wy-form-full input[type="datetime"], .wy-control-group .wy-form-full input[type="datetime-local"], .wy-control-group .wy-form-full input[type="week"], .wy-control-group .wy-form-full input[type="number"], .wy-control-group .wy-form-full input[type="search"], .wy-control-group .wy-form-full input[type="tel"], .wy-control-group .wy-form-full input[type="color"], .wy-control-group .wy-form-halves input[type="text"], .wy-control-group .wy-form-halves input[type="password"], .wy-control-group .wy-form-halves input[type="email"], .wy-control-group .wy-form-halves input[type="url"], .wy-control-group .wy-form-halves input[type="date"], .wy-control-group .wy-form-halves input[type="month"], .wy-control-group .wy-form-halves input[type="time"], .wy-control-group .wy-form-halves input[type="datetime"], .wy-control-group .wy-form-halves input[type="datetime-local"], .wy-control-group .wy-form-halves input[type="week"], .wy-control-group .wy-form-halves input[type="number"], .wy-control-group .wy-form-halves input[type="search"], .wy-control-group .wy-form-halves input[type="tel"], .wy-control-group .wy-form-halves input[type="color"], .wy-control-group .wy-form-thirds input[type="text"], .wy-control-group .wy-form-thirds input[type="password"], .wy-control-group .wy-form-thirds input[type="email"], .wy-control-group .wy-form-thirds input[type="url"], .wy-control-group .wy-form-thirds input[type="date"], .wy-control-group .wy-form-thirds input[type="month"], .wy-control-group .wy-form-thirds input[type="time"], .wy-control-group .wy-form-thirds input[type="datetime"], .wy-control-group .wy-form-thirds input[type="datetime-local"], .wy-control-group .wy-form-thirds input[type="week"], .wy-control-group .wy-form-thirds input[type="number"], .wy-control-group .wy-form-thirds input[type="search"], .wy-control-group .wy-form-thirds input[type="tel"], .wy-control-group .wy-form-thirds input[type="color"] { - width: 100%; -} - -.wy-control-group .wy-form-full { - float: left; - display: block; - margin-right: 2.35765%; - width: 100%; - margin-right: 0; -} -.wy-control-group .wy-form-full:last-child { - margin-right: 0; -} - -.wy-control-group .wy-form-halves { - float: left; - display: block; - margin-right: 2.35765%; - width: 48.82117%; -} -.wy-control-group .wy-form-halves:last-child { - margin-right: 0; -} -.wy-control-group .wy-form-halves:nth-of-type(2n) { - margin-right: 0; -} -.wy-control-group .wy-form-halves:nth-of-type(2n+1) { - clear: left; -} - -.wy-control-group .wy-form-thirds { - float: left; - display: block; - margin-right: 2.35765%; - width: 31.76157%; -} -.wy-control-group .wy-form-thirds:last-child { - margin-right: 0; -} -.wy-control-group .wy-form-thirds:nth-of-type(3n) { - margin-right: 0; -} -.wy-control-group .wy-form-thirds:nth-of-type(3n+1) { - clear: left; -} - -.wy-control-group.wy-control-group-no-input .wy-control { - margin: 6px 0 0 0; - font-size: 90%; -} - -.wy-control-no-input { - display: inline-block; - margin: 6px 0 0 0; - font-size: 90%; -} - -.wy-control-group.fluid-input input[type="text"], .wy-control-group.fluid-input input[type="password"], .wy-control-group.fluid-input input[type="email"], .wy-control-group.fluid-input input[type="url"], .wy-control-group.fluid-input input[type="date"], .wy-control-group.fluid-input input[type="month"], .wy-control-group.fluid-input input[type="time"], .wy-control-group.fluid-input input[type="datetime"], .wy-control-group.fluid-input input[type="datetime-local"], .wy-control-group.fluid-input input[type="week"], .wy-control-group.fluid-input input[type="number"], .wy-control-group.fluid-input input[type="search"], .wy-control-group.fluid-input input[type="tel"], .wy-control-group.fluid-input input[type="color"] { - width: 100%; -} - -.wy-form-message-inline { - display: inline-block; - padding-left: 0.3em; - color: #666; - vertical-align: middle; - font-size: 90%; -} - -.wy-form-message { - display: block; - color: #999; - font-size: 70%; - margin-top: 0.3125em; - font-style: italic; -} -.wy-form-message p { - font-size: inherit; - font-style: italic; - margin-bottom: 6px; -} -.wy-form-message p:last-child { - margin-bottom: 0; -} - -input { - line-height: normal; -} - -input[type="button"], input[type="reset"], input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - *overflow: visible; -} -input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"] { - -webkit-appearance: none; - padding: 6px; - display: inline-block; - border: 1px solid #ccc; - font-size: 80%; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - box-shadow: inset 0 1px 3px #ddd; - border-radius: 0; - -webkit-transition: border 0.3s linear; - -moz-transition: border 0.3s linear; - transition: border 0.3s linear; -} -input[type="datetime-local"] { - padding: 0.34375em 0.625em; -} -input[disabled] { - cursor: default; -} -input[type="checkbox"], input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; - margin-right: 0.3125em; - *height: 13px; - *width: 13px; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus { - outline: 0; - outline: thin dotted \9; - border-color: #333; -} -input.no-focus:focus { - border-color: #ccc !important; -} -input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { - outline: thin dotted #333; - outline: 1px auto #129FEA; -} -input[type="text"][disabled], input[type="password"][disabled], input[type="email"][disabled], input[type="url"][disabled], input[type="date"][disabled], input[type="month"][disabled], input[type="time"][disabled], input[type="datetime"][disabled], input[type="datetime-local"][disabled], input[type="week"][disabled], input[type="number"][disabled], input[type="search"][disabled], input[type="tel"][disabled], input[type="color"][disabled] { - cursor: not-allowed; - background-color: #fafafa; -} - -input:focus:invalid, textarea:focus:invalid, select:focus:invalid { - color: #E74C3C; - border: 1px solid #E74C3C; -} - -input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:focus { - border-color: #E74C3C; -} - -input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus, input[type="checkbox"]:focus:invalid:focus { - outline-color: #E74C3C; -} - -input.wy-input-large { - padding: 12px; - font-size: 100%; -} - -textarea { - overflow: auto; - vertical-align: top; - width: 100%; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; -} - -select, textarea { - padding: 0.5em 0.625em; - display: inline-block; - border: 1px solid #ccc; - font-size: 80%; - box-shadow: inset 0 1px 3px #ddd; - -webkit-transition: border 0.3s linear; - -moz-transition: border 0.3s linear; - transition: border 0.3s linear; -} - -select { - border: 1px solid #ccc; - background-color: #fff; -} -select[multiple] { - height: auto; -} - -select:focus, textarea:focus { - outline: 0; -} - -select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] { - cursor: not-allowed; - background-color: #fafafa; -} - -input[type="radio"][disabled], input[type="checkbox"][disabled] { - cursor: not-allowed; -} - -.wy-checkbox, .wy-radio { - margin: 6px 0; - color: #404040; - display: block; -} -.wy-checkbox input, .wy-radio input { - vertical-align: baseline; -} - -.wy-form-message-inline { - display: inline-block; - *display: inline; - *zoom: 1; - vertical-align: middle; -} - -.wy-input-prefix, .wy-input-suffix { - white-space: nowrap; - padding: 6px; -} -.wy-input-prefix .wy-input-context, .wy-input-suffix .wy-input-context { - line-height: 27px; - padding: 0 8px; - display: inline-block; - font-size: 80%; - background-color: #f3f6f6; - border: solid 1px #ccc; - color: #999; -} - -.wy-input-suffix .wy-input-context { - border-left: 0; -} - -.wy-input-prefix .wy-input-context { - border-right: 0; -} - -.wy-switch { - position: relative; - display: block; - height: 24px; - margin-top: 12px; - cursor: pointer; -} -.wy-switch:before { - position: absolute; - content: ""; - display: block; - left: 0; - top: 0; - width: 36px; - height: 12px; - border-radius: 4px; - background: #ccc; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.wy-switch:after { - position: absolute; - content: ""; - display: block; - width: 18px; - height: 18px; - border-radius: 4px; - background: #999; - left: -3px; - top: -3px; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.wy-switch span { - position: absolute; - left: 48px; - display: block; - font-size: 12px; - color: #ccc; - line-height: 1; -} - -.wy-switch.active:before { - background: #1e8449; -} -.wy-switch.active:after { - left: 24px; - background: #27AE60; -} - -.wy-switch.disabled { - cursor: not-allowed; - opacity: 0.8; -} - -.wy-control-group.wy-control-group-error .wy-form-message, .wy-control-group.wy-control-group-error > label { - color: #E74C3C; -} -.wy-control-group.wy-control-group-error input[type="text"], .wy-control-group.wy-control-group-error input[type="password"], .wy-control-group.wy-control-group-error input[type="email"], .wy-control-group.wy-control-group-error input[type="url"], .wy-control-group.wy-control-group-error input[type="date"], .wy-control-group.wy-control-group-error input[type="month"], .wy-control-group.wy-control-group-error input[type="time"], .wy-control-group.wy-control-group-error input[type="datetime"], .wy-control-group.wy-control-group-error input[type="datetime-local"], .wy-control-group.wy-control-group-error input[type="week"], .wy-control-group.wy-control-group-error input[type="number"], .wy-control-group.wy-control-group-error input[type="search"], .wy-control-group.wy-control-group-error input[type="tel"], .wy-control-group.wy-control-group-error input[type="color"] { - border: solid 1px #E74C3C; -} -.wy-control-group.wy-control-group-error textarea { - border: solid 1px #E74C3C; -} - -.wy-inline-validate { - white-space: nowrap; -} -.wy-inline-validate .wy-input-context { - padding: 0.5em 0.625em; - display: inline-block; - font-size: 80%; -} - -.wy-inline-validate.wy-inline-validate-success .wy-input-context { - color: #27AE60; -} - -.wy-inline-validate.wy-inline-validate-danger .wy-input-context { - color: #E74C3C; -} - -.wy-inline-validate.wy-inline-validate-warning .wy-input-context { - color: #E67E22; -} - -.wy-inline-validate.wy-inline-validate-info .wy-input-context { - color: #2980B9; -} - -.rotate-90 { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} - -.rotate-180 { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} - -.rotate-270 { - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} - -.mirror { - -webkit-transform: scaleX(-1); - -moz-transform: scaleX(-1); - -ms-transform: scaleX(-1); - -o-transform: scaleX(-1); - transform: scaleX(-1); -} -.mirror.rotate-90 { - -webkit-transform: scaleX(-1) rotate(90deg); - -moz-transform: scaleX(-1) rotate(90deg); - -ms-transform: scaleX(-1) rotate(90deg); - -o-transform: scaleX(-1) rotate(90deg); - transform: scaleX(-1) rotate(90deg); -} -.mirror.rotate-180 { - -webkit-transform: scaleX(-1) rotate(180deg); - -moz-transform: scaleX(-1) rotate(180deg); - -ms-transform: scaleX(-1) rotate(180deg); - -o-transform: scaleX(-1) rotate(180deg); - transform: scaleX(-1) rotate(180deg); -} -.mirror.rotate-270 { - -webkit-transform: scaleX(-1) rotate(270deg); - -moz-transform: scaleX(-1) rotate(270deg); - -ms-transform: scaleX(-1) rotate(270deg); - -o-transform: scaleX(-1) rotate(270deg); - transform: scaleX(-1) rotate(270deg); -} - -@media only screen and (max-width: 480px) { - .wy-form button[type="submit"] { - margin: 0.7em 0 0; - } - .wy-form input[type="text"], .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { - margin-bottom: 0.3em; - display: block; - } - .wy-form label { - margin-bottom: 0.3em; - display: block; - } - - .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { - margin-bottom: 0; - } - - .wy-form-aligned .wy-control-group label { - margin-bottom: 0.3em; - text-align: left; - display: block; - width: 100%; - } - .wy-form-aligned .wy-control { - margin: 1.5em 0 0 0; - } - - .wy-form .wy-help-inline, .wy-form-message-inline, .wy-form-message { - display: block; - font-size: 80%; - padding: 6px 0; - } -} -@media screen and (max-width: 768px) { - .tablet-hide { - display: none; - } -} - -@media screen and (max-width: 480px) { - .mobile-hide { - display: none; - } -} - -.float-left { - float: left; -} - -.float-right { - float: right; -} - -.full-width { - width: 100%; -} - -.wy-table, .rst-content table.docutils, .rst-content table.field-list { - border-collapse: collapse; - border-spacing: 0; - empty-cells: show; - margin-bottom: 24px; -} -.wy-table caption, .rst-content table.docutils caption, .rst-content table.field-list caption { - color: #000; - font: italic 85%/1 arial, sans-serif; - padding: 1em 0; - text-align: center; -} -.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td, .wy-table th, .rst-content table.docutils th, .rst-content table.field-list th { - font-size: 90%; - margin: 0; - overflow: visible; - padding: 8px 16px; -} -.wy-table td:first-child, .rst-content table.docutils td:first-child, .rst-content table.field-list td:first-child, .wy-table th:first-child, .rst-content table.docutils th:first-child, .rst-content table.field-list th:first-child { - border-left-width: 0; -} -.wy-table thead, .rst-content table.docutils thead, .rst-content table.field-list thead { - color: #000; - text-align: left; - vertical-align: bottom; - white-space: nowrap; -} -.wy-table thead th, .rst-content table.docutils thead th, .rst-content table.field-list thead th { - font-weight: bold; - border-bottom: solid 2px #e1e4e5; -} -.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td { - background-color: transparent; - vertical-align: middle; -} - -.wy-table td p, .rst-content table.docutils td p, .rst-content table.field-list td p { - line-height: 18px; -} -.wy-table td p:last-child, .rst-content table.docutils td p:last-child, .rst-content table.field-list td p:last-child { - margin-bottom: 0; -} - -.wy-table .wy-table-cell-min, .rst-content table.docutils .wy-table-cell-min, .rst-content table.field-list .wy-table-cell-min { - width: 1%; - padding-right: 0; -} -.wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox], .wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox] { - margin: 0; -} - -.wy-table-secondary { - color: gray; - font-size: 90%; -} - -.wy-table-tertiary { - color: gray; - font-size: 80%; -} - -.wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td, .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td { - background-color: #f3f6f6; -} - -.wy-table-backed { - background-color: #f3f6f6; -} - -/* BORDERED TABLES */ -.wy-table-bordered-all, .rst-content table.docutils { - border: 1px solid #e1e4e5; -} -.wy-table-bordered-all td, .rst-content table.docutils td { - border-bottom: 1px solid #e1e4e5; - border-left: 1px solid #e1e4e5; -} -.wy-table-bordered-all tbody > tr:last-child td, .rst-content table.docutils tbody > tr:last-child td { - border-bottom-width: 0; -} - -.wy-table-bordered { - border: 1px solid #e1e4e5; -} - -.wy-table-bordered-rows td { - border-bottom: 1px solid #e1e4e5; -} -.wy-table-bordered-rows tbody > tr:last-child td { - border-bottom-width: 0; -} - -.wy-table-horizontal tbody > tr:last-child td { - border-bottom-width: 0; -} -.wy-table-horizontal td, .wy-table-horizontal th { - border-width: 0 0 1px 0; - border-bottom: 1px solid #e1e4e5; -} -.wy-table-horizontal tbody > tr:last-child td { - border-bottom-width: 0; -} - -/* RESPONSIVE TABLES */ -.wy-table-responsive { - margin-bottom: 24px; - max-width: 100%; - overflow: auto; -} -.wy-table-responsive table { - margin-bottom: 0 !important; -} -.wy-table-responsive table td, .wy-table-responsive table th { - white-space: nowrap; -} - -a { - color: #2980B9; - text-decoration: none; - cursor: pointer; -} -a:hover { - color: #3091d1; -} -a:visited { - color: #9B59B6; -} - -html { - height: 100%; - overflow-x: hidden; -} - -body { - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - font-weight: normal; - color: #404040; - min-height: 100%; - overflow-x: hidden; - background: #edf0f2; -} - -.wy-text-left { - text-align: left; -} - -.wy-text-center { - text-align: center; -} - -.wy-text-right { - text-align: right; -} - -.wy-text-large { - font-size: 120%; -} - -.wy-text-normal { - font-size: 100%; -} - -.wy-text-small, small { - font-size: 80%; -} - -.wy-text-strike { - text-decoration: line-through; -} - -.wy-text-warning { - color: #E67E22 !important; -} - -a.wy-text-warning:hover { - color: #eb9950 !important; -} - -.wy-text-info { - color: #2980B9 !important; -} - -a.wy-text-info:hover { - color: #409ad5 !important; -} - -.wy-text-success { - color: #27AE60 !important; -} - -a.wy-text-success:hover { - color: #36d278 !important; -} - -.wy-text-danger { - color: #E74C3C !important; -} - -a.wy-text-danger:hover { - color: #ed7669 !important; -} - -.wy-text-neutral { - color: #404040 !important; -} - -a.wy-text-neutral:hover { - color: #595959 !important; -} - -h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend { - margin-top: 0; - font-weight: 700; - font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; -} - -p { - line-height: 24px; - margin: 0; - font-size: 16px; - margin-bottom: 24px; -} - -h1 { - font-size: 175%; -} - -h2, .rst-content .toctree-wrapper p.caption { - font-size: 150%; -} - -h3 { - font-size: 125%; -} - -h4 { - font-size: 115%; -} - -h5 { - font-size: 110%; -} - -h6 { - font-size: 100%; -} - -hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #e1e4e5; - margin: 24px 0; - padding: 0; -} - -code, .rst-content tt, .rst-content code { - white-space: nowrap; - max-width: 100%; - background: #fff; - border: solid 1px #e1e4e5; - font-size: 75%; - padding: 0 5px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - color: #E74C3C; - overflow-x: auto; -} -code.code-large, .rst-content tt.code-large { - font-size: 90%; -} - -.wy-plain-list-disc, .rst-content .section ul, .rst-content .toctree-wrapper ul, article ul { - list-style: disc; - line-height: 24px; - margin-bottom: 24px; -} -.wy-plain-list-disc li, .rst-content .section ul li, .rst-content .toctree-wrapper ul li, article ul li { - list-style: disc; - margin-left: 24px; -} -.wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child { - margin-bottom: 0; -} -.wy-plain-list-disc li ul, .rst-content .section ul li ul, .rst-content .toctree-wrapper ul li ul, article ul li ul { - margin-bottom: 0; -} -.wy-plain-list-disc li li, .rst-content .section ul li li, .rst-content .toctree-wrapper ul li li, article ul li li { - list-style: circle; -} -.wy-plain-list-disc li li li, .rst-content .section ul li li li, .rst-content .toctree-wrapper ul li li li, article ul li li li { - list-style: square; -} -.wy-plain-list-disc li ol li, .rst-content .section ul li ol li, .rst-content .toctree-wrapper ul li ol li, article ul li ol li { - list-style: decimal; -} - -.wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol { - list-style: decimal; - line-height: 24px; - margin-bottom: 24px; -} -.wy-plain-list-decimal li, .rst-content .section ol li, .rst-content ol.arabic li, article ol li { - list-style: decimal; - margin-left: 24px; -} -.wy-plain-list-decimal li p:last-child, .rst-content .section ol li p:last-child, .rst-content ol.arabic li p:last-child, article ol li p:last-child { - margin-bottom: 0; -} -.wy-plain-list-decimal li ul, .rst-content .section ol li ul, .rst-content ol.arabic li ul, article ol li ul { - margin-bottom: 0; -} -.wy-plain-list-decimal li ul li, .rst-content .section ol li ul li, .rst-content ol.arabic li ul li, article ol li ul li { - list-style: disc; -} - -.codeblock-example { - border: 1px solid #e1e4e5; - border-bottom: none; - padding: 24px; - padding-top: 48px; - font-weight: 500; - background: #fff; - position: relative; -} -.codeblock-example:after { - content: "Example"; - position: absolute; - top: 0px; - left: 0px; - background: #9B59B6; - color: white; - padding: 6px 12px; -} -.codeblock-example.prettyprint-example-only { - border: 1px solid #e1e4e5; - margin-bottom: 24px; -} - -.codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'] { - border: 1px solid #e1e4e5; - padding: 0px; - overflow-x: auto; - background: #fff; - margin: 1px 0 24px 0; -} -.codeblock div[class^='highlight'], pre.literal-block div[class^='highlight'], .rst-content .literal-block div[class^='highlight'], div[class^='highlight'] div[class^='highlight'] { - border: none; - background: none; - margin: 0; -} - -div[class^='highlight'] td.code { - width: 100%; -} - -.linenodiv pre { - border-right: solid 1px #e6e9ea; - margin: 0; - padding: 12px 12px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 12px; - line-height: 1.5; - color: #d9d9d9; -} - -div[class^='highlight'] pre { - white-space: pre; - margin: 0; - padding: 12px 12px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 12px; - line-height: 1.5; - display: block; - overflow: auto; - color: #404040; -} - -@media print { - .codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'], div[class^='highlight'] pre { - white-space: pre-wrap; - } -} -.hll { - background-color: #ffffcc; - margin: 0 -12px; - padding: 0 12px; - display: block; -} - -.c { - color: #999988; - font-style: italic; -} - -.err { - color: #a61717; - background-color: #e3d2d2; -} - -.k { - font-weight: bold; -} - -.o { - font-weight: bold; -} - -.cm { - color: #999988; - font-style: italic; -} - -.cp { - color: #999999; - font-weight: bold; -} - -.c1 { - color: #999988; - font-style: italic; -} - -.cs { - color: #999999; - font-weight: bold; - font-style: italic; -} - -.gd { - color: #000000; - background-color: #ffdddd; -} - -.gd .x { - color: #000000; - background-color: #ffaaaa; -} - -.ge { - font-style: italic; -} - -.gr { - color: #aa0000; -} - -.gh { - color: #999999; -} - -.gi { - color: #000000; - background-color: #ddffdd; -} - -.gi .x { - color: #000000; - background-color: #aaffaa; -} - -.go { - color: #888888; -} - -.gp { - color: #555555; -} - -.gs { - font-weight: bold; -} - -.gu { - color: #800080; - font-weight: bold; -} - -.gt { - color: #aa0000; -} - -.kc { - font-weight: bold; -} - -.kd { - font-weight: bold; -} - -.kn { - font-weight: bold; -} - -.kp { - font-weight: bold; -} - -.kr { - font-weight: bold; -} - -.kt { - color: #445588; - font-weight: bold; -} - -.m { - color: #009999; -} - -.s { - color: #dd1144; -} - -.n { - color: #333333; -} - -.na { - color: teal; -} - -.nb { - color: #0086b3; -} - -.nc { - color: #445588; - font-weight: bold; -} - -.no { - color: teal; -} - -.ni { - color: purple; -} - -.ne { - color: #990000; - font-weight: bold; -} - -.nf { - color: #990000; - font-weight: bold; -} - -.nn { - color: #555555; -} - -.nt { - color: navy; -} - -.nv { - color: teal; -} - -.ow { - font-weight: bold; -} - -.w { - color: #bbbbbb; -} - -.mf { - color: #009999; -} - -.mh { - color: #009999; -} - -.mi { - color: #009999; -} - -.mo { - color: #009999; -} - -.sb { - color: #dd1144; -} - -.sc { - color: #dd1144; -} - -.sd { - color: #dd1144; -} - -.s2 { - color: #dd1144; -} - -.se { - color: #dd1144; -} - -.sh { - color: #dd1144; -} - -.si { - color: #dd1144; -} - -.sx { - color: #dd1144; -} - -.sr { - color: #009926; -} - -.s1 { - color: #dd1144; -} - -.ss { - color: #990073; -} - -.bp { - color: #999999; -} - -.vc { - color: teal; -} - -.vg { - color: teal; -} - -.vi { - color: teal; -} - -.il { - color: #009999; -} - -.gc { - color: #999; - background-color: #EAF2F5; -} - -.wy-breadcrumbs li { - display: inline-block; -} -.wy-breadcrumbs li.wy-breadcrumbs-aside { - float: right; -} -.wy-breadcrumbs li a { - display: inline-block; - padding: 5px; -} -.wy-breadcrumbs li a:first-child { - padding-left: 0; -} -.wy-breadcrumbs li code, .wy-breadcrumbs li .rst-content tt, .rst-content .wy-breadcrumbs li tt { - padding: 5px; - border: none; - background: none; -} -.wy-breadcrumbs li code.literal, .wy-breadcrumbs li .rst-content tt.literal, .rst-content .wy-breadcrumbs li tt.literal { - color: #404040; -} - -.wy-breadcrumbs-extra { - margin-bottom: 0; - color: #b3b3b3; - font-size: 80%; - display: inline-block; -} - -@media screen and (max-width: 480px) { - .wy-breadcrumbs-extra { - display: none; - } - - .wy-breadcrumbs li.wy-breadcrumbs-aside { - display: none; - } -} -@media print { - .wy-breadcrumbs li.wy-breadcrumbs-aside { - display: none; - } -} -.wy-affix { - position: fixed; - top: 1.618em; -} - -.wy-menu a:hover { - text-decoration: none; -} - -.wy-menu-horiz { - *zoom: 1; -} -.wy-menu-horiz:before, .wy-menu-horiz:after { - display: table; - content: ""; -} -.wy-menu-horiz:after { - clear: both; -} -.wy-menu-horiz ul, .wy-menu-horiz li { - display: inline-block; -} -.wy-menu-horiz li:hover { - background: rgba(255, 255, 255, 0.1); -} -.wy-menu-horiz li.divide-left { - border-left: solid 1px #404040; -} -.wy-menu-horiz li.divide-right { - border-right: solid 1px #404040; -} -.wy-menu-horiz a { - height: 32px; - display: inline-block; - line-height: 32px; - padding: 0 16px; -} - -.wy-menu-vertical { - width: 300px; -} -.wy-menu-vertical header, .wy-menu-vertical p.caption { - height: 32px; - display: inline-block; - line-height: 32px; - padding: 0 1.618em; - margin-bottom: 0; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 80%; - color: #555; - white-space: nowrap; -} -.wy-menu-vertical ul { - margin-bottom: 0; -} -.wy-menu-vertical li.divide-top { - border-top: solid 1px #404040; -} -.wy-menu-vertical li.divide-bottom { - border-bottom: solid 1px #404040; -} -.wy-menu-vertical li.current { - background: #e3e3e3; -} -.wy-menu-vertical li.current a { - color: gray; - border-right: solid 1px #c9c9c9; - padding: 0.4045em 2.427em; -} -.wy-menu-vertical li.current a:hover { - background: #d6d6d6; -} -.wy-menu-vertical li code, .wy-menu-vertical li .rst-content tt, .rst-content .wy-menu-vertical li tt { - border: none; - background: inherit; - color: inherit; - padding-left: 0; - padding-right: 0; -} -.wy-menu-vertical li span.toctree-expand { - display: block; - float: left; - margin-left: -1.2em; - font-size: 0.8em; - line-height: 1.6em; - color: #4d4d4d; -} -.wy-menu-vertical li.on a, .wy-menu-vertical li.current > a { - color: #404040; - padding: 0.4045em 1.618em; - font-weight: bold; - position: relative; - background: #fcfcfc; - border: none; - border-bottom: solid 1px #c9c9c9; - border-top: solid 1px #c9c9c9; - padding-left: 1.618em -4px; -} -.wy-menu-vertical li.on a:hover, .wy-menu-vertical li.current > a:hover { - background: #fcfcfc; -} -.wy-menu-vertical li.on a:hover span.toctree-expand, .wy-menu-vertical li.current > a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand { - display: block; - font-size: 0.8em; - line-height: 1.6em; - color: #333333; -} -.wy-menu-vertical li.toctree-l1.current li.toctree-l2 > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > ul { - display: none; -} -.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3.current > ul { - display: block; -} -.wy-menu-vertical li.toctree-l2.current > a { - background: #c9c9c9; - padding: 0.4045em 2.427em; -} -.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { - display: block; - background: #c9c9c9; - padding: 0.4045em 4.045em; -} -.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.toctree-l2 span.toctree-expand { - color: #a3a3a3; -} -.wy-menu-vertical li.toctree-l3 { - font-size: 0.9em; -} -.wy-menu-vertical li.toctree-l3.current > a { - background: #bdbdbd; - padding: 0.4045em 4.045em; -} -.wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { - display: block; - background: #bdbdbd; - padding: 0.4045em 5.663em; - border-top: none; - border-bottom: none; -} -.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.toctree-l3 span.toctree-expand { - color: #969696; -} -.wy-menu-vertical li.toctree-l4 { - font-size: 0.9em; -} -.wy-menu-vertical li.current ul { - display: block; -} -.wy-menu-vertical li ul { - margin-bottom: 0; - display: none; -} -.wy-menu-vertical .local-toc li ul { - display: block; -} -.wy-menu-vertical li ul li a { - margin-bottom: 0; - color: #b3b3b3; - font-weight: normal; -} -.wy-menu-vertical a { - display: inline-block; - line-height: 18px; - padding: 0.4045em 1.618em; - display: block; - position: relative; - font-size: 90%; - color: #b3b3b3; -} -.wy-menu-vertical a:hover { - background-color: #4e4a4a; - cursor: pointer; -} -.wy-menu-vertical a:hover span.toctree-expand { - color: #b3b3b3; -} -.wy-menu-vertical a:active { - background-color: #2980B9; - cursor: pointer; - color: #fff; -} -.wy-menu-vertical a:active span.toctree-expand { - color: #fff; -} - -.wy-side-nav-search { - display: block; - width: 300px; - padding: 0.809em; - margin-bottom: 0.809em; - z-index: 200; - background-color: #2980B9; - text-align: center; - padding: 0.809em; - display: block; - color: #fcfcfc; - margin-bottom: 0.809em; -} -.wy-side-nav-search input[type=text] { - width: 100%; - border-radius: 50px; - padding: 6px 12px; - border-color: #2472a4; -} -.wy-side-nav-search img { - display: block; - margin: auto auto 0.809em auto; - height: 45px; - width: 45px; - background-color: #2980B9; - padding: 5px; - border-radius: 100%; -} -.wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a { - color: #fcfcfc; - font-size: 100%; - font-weight: bold; - display: inline-block; - padding: 4px 6px; - margin-bottom: 0.809em; -} -.wy-side-nav-search > a:hover, .wy-side-nav-search .wy-dropdown > a:hover { - background: rgba(255, 255, 255, 0.1); -} -.wy-side-nav-search > a img.logo, .wy-side-nav-search .wy-dropdown > a img.logo { - display: block; - margin: 0 auto; - height: auto; - width: auto; - border-radius: 0; - max-width: 100%; - background: transparent; -} -.wy-side-nav-search > a.icon img.logo, .wy-side-nav-search .wy-dropdown > a.icon img.logo { - margin-top: 0.85em; -} -.wy-side-nav-search > div.version { - margin-top: -0.4045em; - margin-bottom: 0.809em; - font-weight: normal; - color: rgba(255, 255, 255, 0.3); -} - -.wy-nav .wy-menu-vertical header { - color: #2980B9; -} -.wy-nav .wy-menu-vertical a { - color: #b3b3b3; -} -.wy-nav .wy-menu-vertical a:hover { - background-color: #2980B9; - color: #fff; -} - -[data-menu-wrap] { - -webkit-transition: all 0.2s ease-in; - -moz-transition: all 0.2s ease-in; - transition: all 0.2s ease-in; - position: absolute; - opacity: 1; - width: 100%; - opacity: 0; -} -[data-menu-wrap].move-center { - left: 0; - right: auto; - opacity: 1; -} -[data-menu-wrap].move-left { - right: auto; - left: -100%; - opacity: 0; -} -[data-menu-wrap].move-right { - right: -100%; - left: auto; - opacity: 0; -} - -.wy-body-for-nav { - background: left repeat-y #fcfcfc; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC); - background-size: 300px 1px; -} - -.wy-grid-for-nav { - position: absolute; - width: 100%; - height: 100%; -} - -.wy-nav-side { - position: fixed; - top: 0; - bottom: 0; - left: 0; - padding-bottom: 2em; - width: 300px; - overflow-x: hidden; - overflow-y: hidden; - min-height: 100%; - background: #343131; - z-index: 200; -} - -.wy-side-scroll { - width: 320px; - position: relative; - overflow-x: hidden; - overflow-y: scroll; - height: 100%; -} - -.wy-nav-top { - display: none; - background: #2980B9; - color: #fff; - padding: 0.4045em 0.809em; - position: relative; - line-height: 50px; - text-align: center; - font-size: 100%; - *zoom: 1; -} -.wy-nav-top:before, .wy-nav-top:after { - display: table; - content: ""; -} -.wy-nav-top:after { - clear: both; -} -.wy-nav-top a { - color: #fff; - font-weight: bold; -} -.wy-nav-top img { - margin-right: 12px; - height: 45px; - width: 45px; - background-color: #2980B9; - padding: 5px; - border-radius: 100%; -} -.wy-nav-top i { - font-size: 30px; - float: left; - cursor: pointer; - padding-top: inherit; -} - -.wy-nav-content-wrap { - margin-left: 300px; - background: #fcfcfc; - min-height: 100%; -} - -.wy-nav-content { - padding: 1.618em 3.236em; - height: 100%; - max-width: 100%; - margin: auto; -} - -.wy-body-mask { - position: fixed; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.2); - display: none; - z-index: 499; -} -.wy-body-mask.on { - display: block; -} - -footer { - color: #999; -} -footer p { - margin-bottom: 12px; -} -footer span.commit code, footer span.commit .rst-content tt, .rst-content footer span.commit tt { - padding: 0px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 1em; - background: none; - border: none; - color: #999; -} - -.rst-footer-buttons { - *zoom: 1; -} -.rst-footer-buttons:before, .rst-footer-buttons:after { - display: table; - content: ""; -} -.rst-footer-buttons:after { - clear: both; -} - -.rst-breadcrumbs-buttons { - margin-top: 12px; - *zoom: 1; -} -.rst-breadcrumbs-buttons:before, .rst-breadcrumbs-buttons:after { - display: table; - content: ""; -} -.rst-breadcrumbs-buttons:after { - clear: both; -} - -#search-results .search li { - margin-bottom: 24px; - border-bottom: solid 1px #e1e4e5; - padding-bottom: 24px; -} -#search-results .search li:first-child { - border-top: solid 1px #e1e4e5; - padding-top: 24px; -} -#search-results .search li a { - font-size: 120%; - margin-bottom: 12px; - display: inline-block; -} -#search-results .context { - color: gray; - font-size: 90%; -} - -@media screen and (max-width: 768px) { - .wy-body-for-nav { - background: #fcfcfc; - } - - .wy-nav-top { - display: block; - } - - .wy-nav-side { - left: -300px; - } - .wy-nav-side.shift { - width: 85%; - left: 0; - } - - .wy-side-scroll { - width: auto; - } - - .wy-side-nav-search { - width: auto; - } - - .wy-menu.wy-menu-vertical { - width: auto; - } - - .wy-nav-content-wrap { - margin-left: 0; - } - .wy-nav-content-wrap .wy-nav-content { - padding: 1.618em; - } - .wy-nav-content-wrap.shift { - position: fixed; - min-width: 100%; - left: 85%; - top: 0; - height: 100%; - overflow: hidden; - } -} -@media screen and (min-width: 1400px) { - .wy-nav-content-wrap { - background: rgba(0, 0, 0, 0.05); - } - - .wy-nav-content { - margin: 0; - background: #fcfcfc; - } -} -@media print { - .rst-versions, footer, .wy-nav-side { - display: none; - } - - .wy-nav-content-wrap { - margin-left: 0; - } -} -.rst-versions { - position: fixed; - bottom: 0; - left: 0; - width: 300px; - color: #fcfcfc; - background: #1f1d1d; - border-top: solid 10px #343131; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - z-index: 400; -} -.rst-versions a { - color: #2980B9; - text-decoration: none; -} -.rst-versions .rst-badge-small { - display: none; -} -.rst-versions .rst-current-version { - padding: 12px; - background-color: #272525; - display: block; - text-align: right; - font-size: 90%; - cursor: pointer; - color: #27AE60; - *zoom: 1; -} -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { - display: table; - content: ""; -} -.rst-versions .rst-current-version:after { - clear: both; -} -.rst-versions .rst-current-version .fa, .rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand, .rst-versions .rst-current-version .rst-content .admonition-title, .rst-content .rst-versions .rst-current-version .admonition-title, .rst-versions .rst-current-version .rst-content h1 .headerlink, .rst-content h1 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h2 .headerlink, .rst-content h2 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h3 .headerlink, .rst-content h3 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h4 .headerlink, .rst-content h4 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h5 .headerlink, .rst-content h5 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h6 .headerlink, .rst-content h6 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content dl dt .headerlink, .rst-content dl dt .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content p.caption .headerlink, .rst-content p.caption .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content tt.download span:first-child, .rst-content tt.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .rst-content code.download span:first-child, .rst-content code.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .icon { - color: #fcfcfc; -} -.rst-versions .rst-current-version .fa-book, .rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version.rst-out-of-date { - background-color: #E74C3C; - color: #fff; -} -.rst-versions .rst-current-version.rst-active-old-version { - background-color: #F1C40F; - color: #000; -} -.rst-versions.shift-up .rst-other-versions { - display: block; -} -.rst-versions .rst-other-versions { - font-size: 90%; - padding: 12px; - color: gray; - display: none; -} -.rst-versions .rst-other-versions hr { - display: block; - height: 1px; - border: 0; - margin: 20px 0; - padding: 0; - border-top: solid 1px #413d3d; -} -.rst-versions .rst-other-versions dd { - display: inline-block; - margin: 0; -} -.rst-versions .rst-other-versions dd a { - display: inline-block; - padding: 6px; - color: #fcfcfc; -} -.rst-versions.rst-badge { - width: auto; - bottom: 20px; - right: 20px; - left: auto; - border: none; - max-width: 300px; -} -.rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge .fa-book, .rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge.shift-up .rst-current-version { - text-align: right; -} -.rst-versions.rst-badge.shift-up .rst-current-version .fa-book, .rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge .rst-current-version { - width: auto; - height: 30px; - line-height: 30px; - padding: 0 6px; - display: block; - text-align: center; -} - -@media screen and (max-width: 768px) { - .rst-versions { - width: 85%; - display: none; - } - .rst-versions.shift { - display: block; - } -} -.rst-content img { - max-width: 100%; - height: auto !important; -} -.rst-content .highlight > pre, .rst-content .linenodiv > pre { - line-height: normal; -} -.rst-content div.figure { - margin-bottom: 24px; -} -.rst-content div.figure p.caption { - font-style: italic; -} -.rst-content div.figure.align-center { - text-align: center; -} -.rst-content .section > img, .rst-content .section > a > img { - margin-bottom: 24px; -} -.rst-content blockquote { - margin-left: 24px; - line-height: 24px; - margin-bottom: 24px; -} -.rst-content .note .last, .rst-content .attention .last, .rst-content .caution .last, .rst-content .danger .last, .rst-content .error .last, .rst-content .hint .last, .rst-content .important .last, .rst-content .tip .last, .rst-content .warning .last, .rst-content .seealso .last, .rst-content .admonition-todo .last { - margin-bottom: 0; -} -.rst-content .admonition-title:before { - margin-right: 4px; -} -.rst-content .admonition table { - border-color: rgba(0, 0, 0, 0.1); -} -.rst-content .admonition table td, .rst-content .admonition table th { - background: transparent !important; - border-color: rgba(0, 0, 0, 0.1) !important; -} -.rst-content .section ol.loweralpha, .rst-content .section ol.loweralpha li { - list-style: lower-alpha; -} -.rst-content .section ol.upperalpha, .rst-content .section ol.upperalpha li { - list-style: upper-alpha; -} -.rst-content .section ol p, .rst-content .section ul p { - margin-bottom: 12px; -} -.rst-content .line-block { - margin-left: 24px; -} -.rst-content .topic-title { - font-weight: bold; - margin-bottom: 12px; -} -.rst-content .toc-backref { - color: #404040; -} -.rst-content .align-right { - float: right; - margin: 0px 0px 24px 24px; -} -.rst-content .align-left { - float: left; - margin: 0px 24px 24px 0px; -} -.rst-content .align-center { - margin: auto; - display: block; -} -.rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content .toctree-wrapper p.caption .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink { - display: none; - visibility: hidden; - font-size: 14px; -} -.rst-content h1 .headerlink:after, .rst-content h2 .headerlink:after, .rst-content .toctree-wrapper p.caption .headerlink:after, .rst-content h3 .headerlink:after, .rst-content h4 .headerlink:after, .rst-content h5 .headerlink:after, .rst-content h6 .headerlink:after, .rst-content dl dt .headerlink:after, .rst-content p.caption .headerlink:after { - visibility: visible; - content: ""; - font-family: FontAwesome; - display: inline-block; -} -.rst-content h1:hover .headerlink, .rst-content h2:hover .headerlink, .rst-content .toctree-wrapper p.caption:hover .headerlink, .rst-content h3:hover .headerlink, .rst-content h4:hover .headerlink, .rst-content h5:hover .headerlink, .rst-content h6:hover .headerlink, .rst-content dl dt:hover .headerlink, .rst-content p.caption:hover .headerlink { - display: inline-block; -} -.rst-content .sidebar { - float: right; - width: 40%; - display: block; - margin: 0 0 24px 24px; - padding: 24px; - background: #f3f6f6; - border: solid 1px #e1e4e5; -} -.rst-content .sidebar p, .rst-content .sidebar ul, .rst-content .sidebar dl { - font-size: 90%; -} -.rst-content .sidebar .last { - margin-bottom: 0; -} -.rst-content .sidebar .sidebar-title { - display: block; - font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; - font-weight: bold; - background: #e1e4e5; - padding: 6px 12px; - margin: -24px; - margin-bottom: 24px; - font-size: 100%; -} -.rst-content .highlighted { - background: #F1C40F; - display: inline-block; - font-weight: bold; - padding: 0 6px; -} -.rst-content .footnote-reference, .rst-content .citation-reference { - vertical-align: super; - font-size: 90%; -} -.rst-content table.docutils.citation, .rst-content table.docutils.footnote { - background: none; - border: none; - color: #999; -} -.rst-content table.docutils.citation td, .rst-content table.docutils.citation tr, .rst-content table.docutils.footnote td, .rst-content table.docutils.footnote tr { - border: none; - background-color: transparent !important; - white-space: normal; -} -.rst-content table.docutils.citation td.label, .rst-content table.docutils.footnote td.label { - padding-left: 0; - padding-right: 0; - vertical-align: top; -} -.rst-content table.docutils.citation tt, .rst-content table.docutils.citation code, .rst-content table.docutils.footnote tt, .rst-content table.docutils.footnote code { - color: #555; -} -.rst-content table.field-list { - border: none; -} -.rst-content table.field-list td { - border: none; - padding-top: 5px; -} -.rst-content table.field-list td > strong { - display: inline-block; - margin-top: 3px; -} -.rst-content table.field-list .field-name { - padding-right: 10px; - text-align: left; - white-space: nowrap; -} -.rst-content table.field-list .field-body { - text-align: left; - padding-left: 0; -} -.rst-content tt, .rst-content tt, .rst-content code { - color: #000; - padding: 2px 5px; -} -.rst-content tt big, .rst-content tt em, .rst-content tt big, .rst-content code big, .rst-content tt em, .rst-content code em { - font-size: 100% !important; - line-height: normal; -} -.rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { - color: #E74C3C; -} -.rst-content tt.xref, a .rst-content tt, .rst-content tt.xref, .rst-content code.xref, a .rst-content tt, a .rst-content code { - font-weight: bold; - color: #404040; -} -.rst-content a tt, .rst-content a tt, .rst-content a code { - color: #2980B9; -} -.rst-content dl { - margin-bottom: 24px; -} -.rst-content dl dt { - font-weight: bold; -} -.rst-content dl p, .rst-content dl table, .rst-content dl ul, .rst-content dl ol { - margin-bottom: 12px !important; -} -.rst-content dl dd { - margin: 0 0 12px 24px; -} -.rst-content dl:not(.docutils) { - margin-bottom: 24px; -} -.rst-content dl:not(.docutils) dt { - display: table; - margin: 6px 0; - font-size: 90%; - line-height: normal; - background: #e7f2fa; - color: #2980B9; - border-top: solid 3px #6ab0de; - padding: 6px; - position: relative; -} -.rst-content dl:not(.docutils) dt:before { - color: #6ab0de; -} -.rst-content dl:not(.docutils) dt .headerlink { - color: #404040; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) dl dt { - margin-bottom: 6px; - border: none; - border-left: solid 3px #cccccc; - background: #f0f0f0; - color: #555; -} -.rst-content dl:not(.docutils) dl dt .headerlink { - color: #404040; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) dt:first-child { - margin-top: 0; -} -.rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) code { - font-weight: bold; -} -.rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) code.descclassname { - background-color: transparent; - border: none; - padding: 0; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname { - font-weight: bold; -} -.rst-content dl:not(.docutils) .optional { - display: inline-block; - padding: 0 4px; - color: #000; - font-weight: bold; -} -.rst-content dl:not(.docutils) .property { - display: inline-block; - padding-right: 8px; -} -.rst-content .viewcode-link, .rst-content .viewcode-back { - display: inline-block; - color: #27AE60; - font-size: 80%; - padding-left: 24px; -} -.rst-content .viewcode-back { - display: block; - float: right; -} -.rst-content p.rubric { - margin-bottom: 12px; - font-weight: bold; -} -.rst-content tt.download, .rst-content code.download { - background: inherit; - padding: inherit; - font-weight: normal; - font-family: inherit; - font-size: inherit; - color: inherit; - border: inherit; - white-space: inherit; -} -.rst-content tt.download span:first-child, .rst-content code.download span:first-child { - -webkit-font-smoothing: subpixel-antialiased; -} -.rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { - margin-right: 4px; -} -.rst-content .guilabel { - border: 1px solid #7fbbe3; - background: #e7f2fa; - font-size: 80%; - font-weight: 700; - border-radius: 4px; - padding: 2.4px 6px; - margin: auto 2px; -} -.rst-content .versionmodified { - font-style: italic; -} - -@media screen and (max-width: 480px) { - .rst-content .sidebar { - width: 100%; - } -} -span[id*='MathJax-Span'] { - color: #404040; -} - -.math { - text-align: center; -} - -@font-face { - font-family: "Inconsolata"; - font-style: normal; - font-weight: 400; - src: local("Inconsolata"), local("Inconsolata-Regular"), url(../fonts/Inconsolata-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Inconsolata"; - font-style: normal; - font-weight: 700; - src: local("Inconsolata Bold"), local("Inconsolata-Bold"), url(../fonts/Inconsolata-Bold.ttf) format("truetype"); -} -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 400; - src: local("Lato Regular"), local("Lato-Regular"), url(../fonts/Lato-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 700; - src: local("Lato Bold"), local("Lato-Bold"), url(../fonts/Lato-Bold.ttf) format("truetype"); -} -@font-face { - font-family: "Roboto Slab"; - font-style: normal; - font-weight: 400; - src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url(../fonts/RobotoSlab-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Roboto Slab"; - font-style: normal; - font-weight: 700; - src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url(../fonts/RobotoSlab-Bold.ttf) format("truetype"); -} - -/*# sourceMappingURL=theme.css.map */ diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js deleted file mode 100644 index 8163495..0000000 --- a/docs/_static/doctools.js +++ /dev/null @@ -1,287 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for all documentation. - * - * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - */ -jQuery.urldecode = function(x) { - return decodeURIComponent(x).replace(/\+/g, ' '); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s == 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; - } - return result; -}; - -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node) { - if (node.nodeType == 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { - var span = document.createElement("span"); - span.className = className; - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this); - }); - } - } - return this.each(function() { - highlight(this); - }); -}; - -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} - -/** - * Small JavaScript module for the documentation. - */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - - }, - - /** - * i18n support - */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, - LOCALE : 'unknown', - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated == 'undefined') - return string; - return (typeof translated == 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated == 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; - }, - - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; - }, - - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); - }, - - /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 - */ - fixFirefoxAnchorBug : function() { - if (document.location.hash) - window.setTimeout(function() { - document.location.href += ''; - }, 10); - }, - - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); - } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('') - .appendTo($('#searchbox')); - } - }, - - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) == 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); - }, - - /** - * make the url absolute - */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; - }, - - /** - * get the current relative url - */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this == '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); - }, - - initOnKeyListeners: function() { - $(document).keyup(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } - } - } - }); - } -}; - -// quick alias for translations -_ = Documentation.gettext; - -$(document).ready(function() { - Documentation.init(); -}); \ No newline at end of file diff --git a/docs/_static/down-pressed.png b/docs/_static/down-pressed.png deleted file mode 100644 index 5756c8c..0000000 Binary files a/docs/_static/down-pressed.png and /dev/null differ diff --git a/docs/_static/down.png b/docs/_static/down.png deleted file mode 100644 index 1b3bdad..0000000 Binary files a/docs/_static/down.png and /dev/null differ diff --git a/docs/_static/file.png b/docs/_static/file.png deleted file mode 100644 index a858a41..0000000 Binary files a/docs/_static/file.png and /dev/null differ diff --git a/docs/_static/fonts/Inconsolata-Bold.ttf b/docs/_static/fonts/Inconsolata-Bold.ttf deleted file mode 100644 index 809c1f5..0000000 Binary files a/docs/_static/fonts/Inconsolata-Bold.ttf and /dev/null differ diff --git a/docs/_static/fonts/Inconsolata-Regular.ttf b/docs/_static/fonts/Inconsolata-Regular.ttf deleted file mode 100644 index fc981ce..0000000 Binary files a/docs/_static/fonts/Inconsolata-Regular.ttf and /dev/null differ diff --git a/docs/_static/fonts/Lato-Bold.ttf b/docs/_static/fonts/Lato-Bold.ttf deleted file mode 100644 index 1d23c70..0000000 Binary files a/docs/_static/fonts/Lato-Bold.ttf and /dev/null differ diff --git a/docs/_static/fonts/Lato-Regular.ttf b/docs/_static/fonts/Lato-Regular.ttf deleted file mode 100644 index 0f3d0f8..0000000 Binary files a/docs/_static/fonts/Lato-Regular.ttf and /dev/null differ diff --git a/docs/_static/fonts/RobotoSlab-Bold.ttf b/docs/_static/fonts/RobotoSlab-Bold.ttf deleted file mode 100644 index df5d1df..0000000 Binary files a/docs/_static/fonts/RobotoSlab-Bold.ttf and /dev/null differ diff --git a/docs/_static/fonts/RobotoSlab-Regular.ttf b/docs/_static/fonts/RobotoSlab-Regular.ttf deleted file mode 100644 index eb52a79..0000000 Binary files a/docs/_static/fonts/RobotoSlab-Regular.ttf and /dev/null differ diff --git a/docs/_static/fonts/fontawesome-webfont.eot b/docs/_static/fonts/fontawesome-webfont.eot deleted file mode 100644 index c7b00d2..0000000 Binary files a/docs/_static/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/docs/_static/fonts/fontawesome-webfont.svg b/docs/_static/fonts/fontawesome-webfont.svg deleted file mode 100644 index 8b66187..0000000 --- a/docs/_static/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,685 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/_static/fonts/fontawesome-webfont.ttf b/docs/_static/fonts/fontawesome-webfont.ttf deleted file mode 100644 index f221e50..0000000 Binary files a/docs/_static/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/docs/_static/fonts/fontawesome-webfont.woff b/docs/_static/fonts/fontawesome-webfont.woff deleted file mode 100644 index 6e7483c..0000000 Binary files a/docs/_static/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/docs/_static/fonts/fontawesome-webfont.woff2 b/docs/_static/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 7eb74fd..0000000 Binary files a/docs/_static/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/docs/_static/jquery-3.1.0.js b/docs/_static/jquery-3.1.0.js deleted file mode 100644 index f2fc274..0000000 --- a/docs/_static/jquery-3.1.0.js +++ /dev/null @@ -1,10074 +0,0 @@ -/*eslint-disable no-unused-vars*/ -/*! - * jQuery JavaScript Library v3.1.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2016-07-07T21:44Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var document = window.document; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var concat = arr.concat; - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - - - - function DOMEval( code, doc ) { - doc = doc || document; - - var script = doc.createElement( "script" ); - - script.text = code; - doc.head.appendChild( script ).parentNode.removeChild( script ); - } -/* global Symbol */ -// Defining this global in .eslintrc would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.1.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android <=4.0 only - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = jQuery.isArray( copy ) ) ) ) { - - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray( src ) ? src : []; - - } else { - clone = src && jQuery.isPlainObject( src ) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isFunction: function( obj ) { - return jQuery.type( obj ) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - - // As of jQuery 3.0, isNumeric is limited to - // strings and numbers (primitives or objects) - // that can be coerced to finite numbers (gh-2662) - var type = jQuery.type( obj ); - return ( type === "number" || type === "string" ) && - - // parseFloat NaNs numeric-cast false positives ("") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - !isNaN( obj - parseFloat( obj ) ); - }, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - - /* eslint-disable no-unused-vars */ - // See https://github.com/eslint/eslint/issues/6125 - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - globalEval: function( code ) { - DOMEval( code ); - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE <=9 - 11, Edge 12 - 13 - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // Support: Android <=4.0 only - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.0 - * https://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2016-01-04 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - disabledAncestor = addCombinator( - function( elem ) { - return elem.disabled === true; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - - // ID selector - if ( (m = match[1]) ) { - - // Document context - if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !compilerCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - - if ( nodeType !== 1 ) { - newContext = context; - newSelector = selector; - - // qSA looks outside Element context, which is not what we want - // Thanks to Andrew Dupont for this workaround technique - // Support: IE <=8 - // Exclude object elements - } else if ( context.nodeName.toLowerCase() !== "object" ) { - - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", (nid = expando) ); - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[i] = "#" + nid + " " + toSelector( groups[i] ); - } - newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement("fieldset"); - - try { - return !!fn( el ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - // Known :disabled false positives: - // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) - // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Check form elements and option elements for explicit disabling - return "label" in elem && elem.disabled === disabled || - "form" in elem && elem.disabled === disabled || - - // Check non-disabled form elements for fieldset[disabled] ancestors - "form" in elem && elem.disabled === false && ( - // Support: IE6-11+ - // Ancestry is covered for us - elem.isDisabled === disabled || - - // Otherwise, assume any non-