initial docs
This commit is contained in:
		
							
								
								
									
										4
									
								
								docs/.buildinfo
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								docs/.buildinfo
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| # Sphinx build info version 1 | ||||
| # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||||
| config: 989a85167e87fe85d50388008e489594 | ||||
| tags: 645f666f9bcd5a90fca523b33c5a78b7 | ||||
							
								
								
									
										31
									
								
								docs/_sources/about.md.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								docs/_sources/about.md.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| # About Inkycal | ||||
| <img align="center" src="https://github.com/aceinnolab/Inkycal/blob/assets/Repo/logo.png" width="800" alt="inkycal logo"> | ||||
|  | ||||
| Inkycal is a python3 software for selected E-Paper displays. | ||||
| It's open-source (non-commercially), fully modular, user-friendly and even runs | ||||
| well even on the Raspberry Pi Zero. Inkycal even has a web-UI which takes | ||||
| care of adding your details! No more editing files, Yay :partying_face: | ||||
|  | ||||
| The main idea behind Inkycal was to create a dashboard that blends in well | ||||
| in it's environment and shows you all information without you having to look | ||||
| them up. Several built-in modules help you stay organised by: | ||||
| * providing the weather forecast for the full week or next few hours | ||||
| * getting the latest news from ATOM/RSS feeds | ||||
| * showing your iCalendar agenda, which may be synchronised with your phone | ||||
| * showing a monthly Calendar which may also show events synced with Google etc. | ||||
| * fetch some jokes form the web to help you smile :) | ||||
|  | ||||
| What's more? It's compatible with third party modules, if something is missing, | ||||
| you can write your own module and share it with the community. | ||||
|  | ||||
| Inkycal has a friendly and helpful community on Discord in case you're in | ||||
| a pinch setting up Inkycal. Noobs welcome too of course! | ||||
|  | ||||
| Inkycal is developed mainly by [aceisace](https://github.com/aceisace) - a | ||||
| university student and a few other developers in their free time. | ||||
| Open source means we work for nothing, but it doesn't mean we don't need | ||||
| anything. We invest a large amount of time, effort and coffee to develop | ||||
| Inkycal. | ||||
|  | ||||
| Please support Inkycal via a **[DONATION](https://www.paypal.me/aceinnolab)** | ||||
| to help us keep this project alive. Thank You! | ||||
							
								
								
									
										4
									
								
								docs/_sources/dev_doc.md.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								docs/_sources/dev_doc.md.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| # Developer documentation | ||||
|  | ||||
| This documentation is mainly for developers who wish to create a third party | ||||
| module | ||||
							
								
								
									
										25
									
								
								docs/_sources/index.rst.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								docs/_sources/index.rst.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| .. inkycal documentation master file, created by | ||||
|    sphinx-quickstart on Tue May  5 16:23:29 2020. | ||||
|    You can adapt this file completely to your liking, but it should at least | ||||
|    contain the root `toctree` directive. | ||||
|  | ||||
| Inkycal documentation | ||||
| ====================== | ||||
| .. image:: ../Gallery/logo.png | ||||
|    :align: center | ||||
|  | ||||
| .. toctree:: | ||||
|    :maxdepth: 2 | ||||
|    :caption: Contents: | ||||
|  | ||||
|    inkycal | ||||
|    about | ||||
|    quickstart | ||||
|    dev_doc | ||||
|  | ||||
| Indices and tables | ||||
| ================== | ||||
|  | ||||
| * :ref:`genindex` | ||||
| * :ref:`modindex` | ||||
| * :ref:`search` | ||||
							
								
								
									
										25
									
								
								docs/_sources/inkycal.rst.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								docs/_sources/inkycal.rst.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| .. image:: ../Gallery/logo.png | ||||
|    :align: center | ||||
|  | ||||
| Inkycal | ||||
| =========================== | ||||
| .. automodule:: inkycal.main | ||||
|   :members: | ||||
|  | ||||
| Display | ||||
| =========================== | ||||
| .. automodule:: inkycal.display.display | ||||
|   :members: | ||||
|  | ||||
| Custom functions | ||||
| =========================== | ||||
| .. automodule:: inkycal.custom.functions | ||||
|   :members: | ||||
|  | ||||
| Helper classes | ||||
| ================= | ||||
| .. automodule:: inkycal.modules.ical_parser | ||||
|   :members: | ||||
|  | ||||
| .. automodule:: inkycal.modules.inky_image | ||||
|   :members: | ||||
							
								
								
									
										23
									
								
								docs/_sources/quickstart.md.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								docs/_sources/quickstart.md.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| # Quickstart | ||||
| <img align="center" src="https://github.com/aceisace/Inkycal/raw/assets/Repo/logo.png" width="800"> | ||||
|  | ||||
| ## Installing Inkycal | ||||
|  | ||||
| Install inkycal  directly via the GitHub repo: | ||||
|  | ||||
| ```bash | ||||
| # clone the repo | ||||
| git clone https://github.com/aceinnolab/Inkycal | ||||
|  | ||||
| # go to downloaded repo folder | ||||
| cd Inkycal | ||||
|  | ||||
| # install Inkycal | ||||
| pip3 install -e ./ | ||||
| ``` | ||||
|  | ||||
| ## Creating settings file | ||||
| Please navigate to the [WEB-UI](https://aceisace.eu.pythonanywhere.com/index) to create your settings file.  | ||||
|  | ||||
| Copy the generated settings file to the Raspberry Pi | ||||
| more coming soon.. | ||||
							
								
								
									
										123
									
								
								docs/_static/_sphinx_javascript_frameworks_compat.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								docs/_static/_sphinx_javascript_frameworks_compat.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,123 @@ | ||||
| /* Compatability shim for jQuery and underscores.js. | ||||
|  * | ||||
|  * Copyright Sphinx contributors | ||||
|  * Released under the two clause BSD licence | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * small helper function to urldecode strings | ||||
|  * | ||||
|  * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL | ||||
|  */ | ||||
| jQuery.urldecode = function(x) { | ||||
|     if (!x) { | ||||
|         return 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, addItems) { | ||||
|         if (node.nodeType === 3) { | ||||
|             var val = node.nodeValue; | ||||
|             var pos = val.toLowerCase().indexOf(text); | ||||
|             if (pos >= 0 && | ||||
|                 !jQuery(node.parentNode).hasClass(className) && | ||||
|                 !jQuery(node.parentNode).hasClass("nohighlight")) { | ||||
|                 var span; | ||||
|                 var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); | ||||
|                 if (isInSVG) { | ||||
|                     span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); | ||||
|                 } else { | ||||
|                     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); | ||||
|                 if (isInSVG) { | ||||
|                     var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); | ||||
|                     var bbox = node.parentElement.getBBox(); | ||||
|                     rect.x.baseVal.value = bbox.x; | ||||
|                     rect.y.baseVal.value = bbox.y; | ||||
|                     rect.width.baseVal.value = bbox.width; | ||||
|                     rect.height.baseVal.value = bbox.height; | ||||
|                     rect.setAttribute('class', className); | ||||
|                     addItems.push({ | ||||
|                         "parent": node.parentNode, | ||||
|                         "target": rect}); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         else if (!jQuery(node).is("button, select, textarea")) { | ||||
|             jQuery.each(node.childNodes, function() { | ||||
|                 highlight(this, addItems); | ||||
|             }); | ||||
|         } | ||||
|     } | ||||
|     var addItems = []; | ||||
|     var result = this.each(function() { | ||||
|         highlight(this, addItems); | ||||
|     }); | ||||
|     for (var i = 0; i < addItems.length; ++i) { | ||||
|         jQuery(addItems[i].parent).before(addItems[i].target); | ||||
|     } | ||||
|     return result; | ||||
| }; | ||||
|  | ||||
| /* | ||||
|  * 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; | ||||
| } | ||||
							
								
								
									
										903
									
								
								docs/_static/basic.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										903
									
								
								docs/_static/basic.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,903 @@ | ||||
| /* | ||||
|  * basic.css | ||||
|  * ~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx stylesheet -- basic theme. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| /* -- main layout ----------------------------------------------------------- */ | ||||
|  | ||||
| div.clearer { | ||||
|     clear: both; | ||||
| } | ||||
|  | ||||
| div.section::after { | ||||
|     display: block; | ||||
|     content: ''; | ||||
|     clear: left; | ||||
| } | ||||
|  | ||||
| /* -- 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 form.search { | ||||
|     overflow: hidden; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar #searchbox input[type="text"] { | ||||
|     float: left; | ||||
|     width: 80%; | ||||
|     padding: 0.25em; | ||||
|     box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar #searchbox input[type="submit"] { | ||||
|     float: left; | ||||
|     width: 20%; | ||||
|     border-left: none; | ||||
|     padding: 0.25em; | ||||
|     box-sizing: border-box; | ||||
| } | ||||
|  | ||||
|  | ||||
| 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 p.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 { | ||||
|     min-width: 360px; | ||||
|     max-width: 800px; | ||||
| } | ||||
|  | ||||
| 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, .figure.align-left, object.align-left { | ||||
|     clear: left; | ||||
|     float: left; | ||||
|     margin-right: 1em; | ||||
| } | ||||
|  | ||||
| img.align-right, figure.align-right, .figure.align-right, object.align-right { | ||||
|     clear: right; | ||||
|     float: right; | ||||
|     margin-left: 1em; | ||||
| } | ||||
|  | ||||
| img.align-center, figure.align-center, .figure.align-center, object.align-center { | ||||
|   display: block; | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
| } | ||||
|  | ||||
| img.align-default, figure.align-default, .figure.align-default { | ||||
|   display: block; | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
| } | ||||
|  | ||||
| .align-left { | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| .align-center { | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
| .align-default { | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
| .align-right { | ||||
|     text-align: right; | ||||
| } | ||||
|  | ||||
| /* -- sidebars -------------------------------------------------------------- */ | ||||
|  | ||||
| div.sidebar, | ||||
| aside.sidebar { | ||||
|     margin: 0 0 0.5em 1em; | ||||
|     border: 1px solid #ddb; | ||||
|     padding: 7px; | ||||
|     background-color: #ffe; | ||||
|     width: 40%; | ||||
|     float: right; | ||||
|     clear: right; | ||||
|     overflow-x: auto; | ||||
| } | ||||
|  | ||||
| p.sidebar-title { | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| nav.contents, | ||||
| aside.topic, | ||||
| div.admonition, div.topic, blockquote { | ||||
|     clear: left; | ||||
| } | ||||
|  | ||||
| /* -- topics ---------------------------------------------------------------- */ | ||||
|  | ||||
| nav.contents, | ||||
| aside.topic, | ||||
| div.topic { | ||||
|     border: 1px solid #ccc; | ||||
|     padding: 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; | ||||
| } | ||||
|  | ||||
| p.admonition-title { | ||||
|     margin: 0px 10px 5px 0px; | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| div.body p.centered { | ||||
|     text-align: center; | ||||
|     margin-top: 25px; | ||||
| } | ||||
|  | ||||
| /* -- content of sidebars/topics/admonitions -------------------------------- */ | ||||
|  | ||||
| div.sidebar > :last-child, | ||||
| aside.sidebar > :last-child, | ||||
| nav.contents > :last-child, | ||||
| aside.topic > :last-child, | ||||
| div.topic > :last-child, | ||||
| div.admonition > :last-child { | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| div.sidebar::after, | ||||
| aside.sidebar::after, | ||||
| nav.contents::after, | ||||
| aside.topic::after, | ||||
| div.topic::after, | ||||
| div.admonition::after, | ||||
| blockquote::after { | ||||
|     display: block; | ||||
|     content: ''; | ||||
|     clear: both; | ||||
| } | ||||
|  | ||||
| /* -- tables ---------------------------------------------------------------- */ | ||||
|  | ||||
| table.docutils { | ||||
|     margin-top: 10px; | ||||
|     margin-bottom: 10px; | ||||
|     border: 0; | ||||
|     border-collapse: collapse; | ||||
| } | ||||
|  | ||||
| table.align-center { | ||||
|     margin-left: auto; | ||||
|     margin-right: auto; | ||||
| } | ||||
|  | ||||
| table.align-default { | ||||
|     margin-left: auto; | ||||
|     margin-right: auto; | ||||
| } | ||||
|  | ||||
| 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; | ||||
| } | ||||
|  | ||||
| th { | ||||
|     text-align: left; | ||||
|     padding-right: 5px; | ||||
| } | ||||
|  | ||||
| table.citation { | ||||
|     border-left: solid 1px gray; | ||||
|     margin-left: 1px; | ||||
| } | ||||
|  | ||||
| table.citation td { | ||||
|     border-bottom: none; | ||||
| } | ||||
|  | ||||
| th > :first-child, | ||||
| td > :first-child { | ||||
|     margin-top: 0px; | ||||
| } | ||||
|  | ||||
| th > :last-child, | ||||
| td > :last-child { | ||||
|     margin-bottom: 0px; | ||||
| } | ||||
|  | ||||
| /* -- figures --------------------------------------------------------------- */ | ||||
|  | ||||
| div.figure, figure { | ||||
|     margin: 0.5em; | ||||
|     padding: 0.5em; | ||||
| } | ||||
|  | ||||
| div.figure p.caption, figcaption { | ||||
|     padding: 0.3em; | ||||
| } | ||||
|  | ||||
| div.figure p.caption span.caption-number, | ||||
| figcaption span.caption-number { | ||||
|     font-style: italic; | ||||
| } | ||||
|  | ||||
| div.figure p.caption span.caption-text, | ||||
| figcaption 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; | ||||
| } | ||||
|  | ||||
| .field-name { | ||||
|     -moz-hyphens: manual; | ||||
|     -ms-hyphens: manual; | ||||
|     -webkit-hyphens: manual; | ||||
|     hyphens: manual; | ||||
| } | ||||
|  | ||||
| /* -- hlist styles ---------------------------------------------------------- */ | ||||
|  | ||||
| table.hlist { | ||||
|     margin: 1em 0; | ||||
| } | ||||
|  | ||||
| table.hlist td { | ||||
|     vertical-align: top; | ||||
| } | ||||
|  | ||||
| /* -- object description styles --------------------------------------------- */ | ||||
|  | ||||
| .sig { | ||||
| 	font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; | ||||
| } | ||||
|  | ||||
| .sig-name, code.descname { | ||||
|     background-color: transparent; | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| .sig-name { | ||||
| 	font-size: 1.1em; | ||||
| } | ||||
|  | ||||
| code.descname { | ||||
|     font-size: 1.2em; | ||||
| } | ||||
|  | ||||
| .sig-prename, code.descclassname { | ||||
|     background-color: transparent; | ||||
| } | ||||
|  | ||||
| .optional { | ||||
|     font-size: 1.3em; | ||||
| } | ||||
|  | ||||
| .sig-paren { | ||||
|     font-size: larger; | ||||
| } | ||||
|  | ||||
| .sig-param.n { | ||||
| 	font-style: italic; | ||||
| } | ||||
|  | ||||
| /* C++ specific styling */ | ||||
|  | ||||
| .sig-inline.c-texpr, | ||||
| .sig-inline.cpp-texpr { | ||||
| 	font-family: unset; | ||||
| } | ||||
|  | ||||
| .sig.c   .k, .sig.c   .kt, | ||||
| .sig.cpp .k, .sig.cpp .kt { | ||||
| 	color: #0033B3; | ||||
| } | ||||
|  | ||||
| .sig.c   .m, | ||||
| .sig.cpp .m { | ||||
| 	color: #1750EB; | ||||
| } | ||||
|  | ||||
| .sig.c   .s, .sig.c   .sc, | ||||
| .sig.cpp .s, .sig.cpp .sc { | ||||
| 	color: #067D17; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* -- 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; | ||||
| } | ||||
|  | ||||
| :not(li) > ol > li:first-child > :first-child, | ||||
| :not(li) > ul > li:first-child > :first-child { | ||||
|     margin-top: 0px; | ||||
| } | ||||
|  | ||||
| :not(li) > ol > li:last-child > :last-child, | ||||
| :not(li) > ul > li:last-child > :last-child { | ||||
|     margin-bottom: 0px; | ||||
| } | ||||
|  | ||||
| ol.simple ol p, | ||||
| ol.simple ul p, | ||||
| ul.simple ol p, | ||||
| ul.simple ul p { | ||||
|     margin-top: 0; | ||||
| } | ||||
|  | ||||
| ol.simple > li:not(:first-child) > p, | ||||
| ul.simple > li:not(:first-child) > p { | ||||
|     margin-top: 0; | ||||
| } | ||||
|  | ||||
| ol.simple p, | ||||
| ul.simple p { | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| aside.footnote > span, | ||||
| div.citation > span { | ||||
|     float: left; | ||||
| } | ||||
| aside.footnote > span:last-of-type, | ||||
| div.citation > span:last-of-type { | ||||
|   padding-right: 0.5em; | ||||
| } | ||||
| aside.footnote > p { | ||||
|   margin-left: 2em; | ||||
| } | ||||
| div.citation > p { | ||||
|   margin-left: 4em; | ||||
| } | ||||
| aside.footnote > p:last-of-type, | ||||
| div.citation > p:last-of-type { | ||||
|     margin-bottom: 0em; | ||||
| } | ||||
| aside.footnote > p:last-of-type:after, | ||||
| div.citation > p:last-of-type:after { | ||||
|     content: ""; | ||||
|     clear: both; | ||||
| } | ||||
|  | ||||
| dl.field-list { | ||||
|     display: grid; | ||||
|     grid-template-columns: fit-content(30%) auto; | ||||
| } | ||||
|  | ||||
| dl.field-list > dt { | ||||
|     font-weight: bold; | ||||
|     word-break: break-word; | ||||
|     padding-left: 0.5em; | ||||
|     padding-right: 5px; | ||||
| } | ||||
|  | ||||
| dl.field-list > dd { | ||||
|     padding-left: 0.5em; | ||||
|     margin-top: 0em; | ||||
|     margin-left: 0em; | ||||
|     margin-bottom: 0em; | ||||
| } | ||||
|  | ||||
| dl { | ||||
|     margin-bottom: 15px; | ||||
| } | ||||
|  | ||||
| dd > :first-child { | ||||
|     margin-top: 0px; | ||||
| } | ||||
|  | ||||
| dd ul, dd table { | ||||
|     margin-bottom: 10px; | ||||
| } | ||||
|  | ||||
| dd { | ||||
|     margin-top: 3px; | ||||
|     margin-bottom: 10px; | ||||
|     margin-left: 30px; | ||||
| } | ||||
|  | ||||
| dl > dd:last-child, | ||||
| dl > dd:last-child > :last-child { | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| dt:target, span.highlighted { | ||||
|     background-color: #fbe54e; | ||||
| } | ||||
|  | ||||
| rect.highlighted { | ||||
|     fill: #fbe54e; | ||||
| } | ||||
|  | ||||
| dl.glossary dt { | ||||
|     font-weight: bold; | ||||
|     font-size: 1.1em; | ||||
| } | ||||
|  | ||||
| .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; | ||||
| } | ||||
|  | ||||
| .classifier:before { | ||||
|     font-style: normal; | ||||
|     margin: 0 0.5em; | ||||
|     content: ":"; | ||||
|     display: inline-block; | ||||
| } | ||||
|  | ||||
| abbr, acronym { | ||||
|     border-bottom: dotted 1px; | ||||
|     cursor: help; | ||||
| } | ||||
|  | ||||
| /* -- code displays --------------------------------------------------------- */ | ||||
|  | ||||
| pre { | ||||
|     overflow: auto; | ||||
|     overflow-y: hidden;  /* fixes display issues on Chrome browsers */ | ||||
| } | ||||
|  | ||||
| pre, div[class*="highlight-"] { | ||||
|     clear: both; | ||||
| } | ||||
|  | ||||
| span.pre { | ||||
|     -moz-hyphens: none; | ||||
|     -ms-hyphens: none; | ||||
|     -webkit-hyphens: none; | ||||
|     hyphens: none; | ||||
|     white-space: nowrap; | ||||
| } | ||||
|  | ||||
| div[class*="highlight-"] { | ||||
|     margin: 1em 0; | ||||
| } | ||||
|  | ||||
| td.linenos pre { | ||||
|     border: 0; | ||||
|     background-color: transparent; | ||||
|     color: #aaa; | ||||
| } | ||||
|  | ||||
| table.highlighttable { | ||||
|     display: block; | ||||
| } | ||||
|  | ||||
| table.highlighttable tbody { | ||||
|     display: block; | ||||
| } | ||||
|  | ||||
| table.highlighttable tr { | ||||
|     display: flex; | ||||
| } | ||||
|  | ||||
| table.highlighttable td { | ||||
|     margin: 0; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| table.highlighttable td.linenos { | ||||
|     padding-right: 0.5em; | ||||
| } | ||||
|  | ||||
| table.highlighttable td.code { | ||||
|     flex: 1; | ||||
|     overflow: hidden; | ||||
| } | ||||
|  | ||||
| .highlight .hll { | ||||
|     display: block; | ||||
| } | ||||
|  | ||||
| div.highlight pre, | ||||
| table.highlighttable pre { | ||||
|     margin: 0; | ||||
| } | ||||
|  | ||||
| div.code-block-caption + div { | ||||
|     margin-top: 0; | ||||
| } | ||||
|  | ||||
| div.code-block-caption { | ||||
|     margin-top: 1em; | ||||
|     padding: 2px 5px; | ||||
|     font-size: small; | ||||
| } | ||||
|  | ||||
| div.code-block-caption code { | ||||
|     background-color: transparent; | ||||
| } | ||||
|  | ||||
| table.highlighttable td.linenos, | ||||
| span.linenos, | ||||
| div.highlight span.gp {  /* gp: Generic.Prompt */ | ||||
|   user-select: none; | ||||
|   -webkit-user-select: text; /* Safari fallback only */ | ||||
|   -webkit-user-select: none; /* Chrome/Safari */ | ||||
|   -moz-user-select: none; /* Firefox */ | ||||
|   -ms-user-select: none; /* IE10+ */ | ||||
| } | ||||
|  | ||||
| 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 { | ||||
|     margin: 1em 0; | ||||
| } | ||||
|  | ||||
| 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: absolute; | ||||
|     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; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										1
									
								
								docs/_static/css/badge_only.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								docs/_static/css/badge_only.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| .clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;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}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.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{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #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;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.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>.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}} | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Bold.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Bold.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Bold.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Bold.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Regular.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Regular.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Regular.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/Roboto-Slab-Regular.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.eot
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.eot
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2671
									
								
								docs/_static/css/fonts/fontawesome-webfont.svg
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2671
									
								
								docs/_static/css/fonts/fontawesome-webfont.svg
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| After Width: | Height: | Size: 434 KiB | 
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.ttf
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.ttf
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/fontawesome-webfont.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold-italic.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold-italic.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold-italic.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold-italic.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-bold.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal-italic.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal-italic.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal-italic.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal-italic.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal.woff
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/css/fonts/lato-normal.woff2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										4
									
								
								docs/_static/css/theme.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								docs/_static/css/theme.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										156
									
								
								docs/_static/doctools.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								docs/_static/doctools.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,156 @@ | ||||
| /* | ||||
|  * doctools.js | ||||
|  * ~~~~~~~~~~~ | ||||
|  * | ||||
|  * Base JavaScript utilities for all Sphinx HTML documentation. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
| "use strict"; | ||||
|  | ||||
| const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ | ||||
|   "TEXTAREA", | ||||
|   "INPUT", | ||||
|   "SELECT", | ||||
|   "BUTTON", | ||||
| ]); | ||||
|  | ||||
| const _ready = (callback) => { | ||||
|   if (document.readyState !== "loading") { | ||||
|     callback(); | ||||
|   } else { | ||||
|     document.addEventListener("DOMContentLoaded", callback); | ||||
|   } | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Small JavaScript module for the documentation. | ||||
|  */ | ||||
| const Documentation = { | ||||
|   init: () => { | ||||
|     Documentation.initDomainIndexTable(); | ||||
|     Documentation.initOnKeyListeners(); | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * i18n support | ||||
|    */ | ||||
|   TRANSLATIONS: {}, | ||||
|   PLURAL_EXPR: (n) => (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: (string) => { | ||||
|     const translated = Documentation.TRANSLATIONS[string]; | ||||
|     switch (typeof translated) { | ||||
|       case "undefined": | ||||
|         return string; // no translation | ||||
|       case "string": | ||||
|         return translated; // translation exists | ||||
|       default: | ||||
|         return translated[0]; // (singular, plural) translation tuple exists | ||||
|     } | ||||
|   }, | ||||
|  | ||||
|   ngettext: (singular, plural, n) => { | ||||
|     const translated = Documentation.TRANSLATIONS[singular]; | ||||
|     if (typeof translated !== "undefined") | ||||
|       return translated[Documentation.PLURAL_EXPR(n)]; | ||||
|     return n === 1 ? singular : plural; | ||||
|   }, | ||||
|  | ||||
|   addTranslations: (catalog) => { | ||||
|     Object.assign(Documentation.TRANSLATIONS, catalog.messages); | ||||
|     Documentation.PLURAL_EXPR = new Function( | ||||
|       "n", | ||||
|       `return (${catalog.plural_expr})` | ||||
|     ); | ||||
|     Documentation.LOCALE = catalog.locale; | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * helper function to focus on search bar | ||||
|    */ | ||||
|   focusSearchBar: () => { | ||||
|     document.querySelectorAll("input[name=q]")[0]?.focus(); | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * Initialise the domain index toggle buttons | ||||
|    */ | ||||
|   initDomainIndexTable: () => { | ||||
|     const toggler = (el) => { | ||||
|       const idNumber = el.id.substr(7); | ||||
|       const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); | ||||
|       if (el.src.substr(-9) === "minus.png") { | ||||
|         el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; | ||||
|         toggledRows.forEach((el) => (el.style.display = "none")); | ||||
|       } else { | ||||
|         el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; | ||||
|         toggledRows.forEach((el) => (el.style.display = "")); | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     const togglerElements = document.querySelectorAll("img.toggler"); | ||||
|     togglerElements.forEach((el) => | ||||
|       el.addEventListener("click", (event) => toggler(event.currentTarget)) | ||||
|     ); | ||||
|     togglerElements.forEach((el) => (el.style.display = "")); | ||||
|     if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); | ||||
|   }, | ||||
|  | ||||
|   initOnKeyListeners: () => { | ||||
|     // only install a listener if it is really needed | ||||
|     if ( | ||||
|       !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && | ||||
|       !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS | ||||
|     ) | ||||
|       return; | ||||
|  | ||||
|     document.addEventListener("keydown", (event) => { | ||||
|       // bail for input elements | ||||
|       if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; | ||||
|       // bail with special keys | ||||
|       if (event.altKey || event.ctrlKey || event.metaKey) return; | ||||
|  | ||||
|       if (!event.shiftKey) { | ||||
|         switch (event.key) { | ||||
|           case "ArrowLeft": | ||||
|             if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; | ||||
|  | ||||
|             const prevLink = document.querySelector('link[rel="prev"]'); | ||||
|             if (prevLink && prevLink.href) { | ||||
|               window.location.href = prevLink.href; | ||||
|               event.preventDefault(); | ||||
|             } | ||||
|             break; | ||||
|           case "ArrowRight": | ||||
|             if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; | ||||
|  | ||||
|             const nextLink = document.querySelector('link[rel="next"]'); | ||||
|             if (nextLink && nextLink.href) { | ||||
|               window.location.href = nextLink.href; | ||||
|               event.preventDefault(); | ||||
|             } | ||||
|             break; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       // some keyboard layouts may need Shift to get / | ||||
|       switch (event.key) { | ||||
|         case "/": | ||||
|           if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; | ||||
|           Documentation.focusSearchBar(); | ||||
|           event.preventDefault(); | ||||
|       } | ||||
|     }); | ||||
|   }, | ||||
| }; | ||||
|  | ||||
| // quick alias for translations | ||||
| const _ = Documentation.gettext; | ||||
|  | ||||
| _ready(Documentation.init); | ||||
							
								
								
									
										14
									
								
								docs/_static/documentation_options.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								docs/_static/documentation_options.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| var DOCUMENTATION_OPTIONS = { | ||||
|     URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), | ||||
|     VERSION: '2.0.3', | ||||
|     LANGUAGE: 'en', | ||||
|     COLLAPSE_INDEX: false, | ||||
|     BUILDER: 'html', | ||||
|     FILE_SUFFIX: '.html', | ||||
|     LINK_SUFFIX: '.html', | ||||
|     HAS_SOURCE: true, | ||||
|     SOURCELINK_SUFFIX: '.txt', | ||||
|     NAVIGATION_WITH_KEYS: false, | ||||
|     SHOW_SEARCH_SUMMARY: true, | ||||
|     ENABLE_SEARCH_SHORTCUTS: true, | ||||
| }; | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/_static/file.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/file.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 286 B | 
							
								
								
									
										2
									
								
								docs/_static/jquery.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								docs/_static/jquery.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								docs/_static/js/badge_only.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								docs/_static/js/badge_only.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}}); | ||||
							
								
								
									
										4
									
								
								docs/_static/js/html5shiv-printshiv.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								docs/_static/js/html5shiv-printshiv.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| /** | ||||
| * @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed | ||||
| */ | ||||
| !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document); | ||||
							
								
								
									
										4
									
								
								docs/_static/js/html5shiv.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								docs/_static/js/html5shiv.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| /** | ||||
| * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed | ||||
| */ | ||||
| !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); | ||||
							
								
								
									
										1
									
								
								docs/_static/js/theme.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								docs/_static/js/theme.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										199
									
								
								docs/_static/language_data.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								docs/_static/language_data.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,199 @@ | ||||
| /* | ||||
|  * language_data.js | ||||
|  * ~~~~~~~~~~~~~~~~ | ||||
|  * | ||||
|  * This script contains the language-specific data used by searchtools.js, | ||||
|  * namely the list of stopwords, stemmer, scorer and splitter. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; | ||||
|  | ||||
|  | ||||
| /* Non-minified version is copied as a separate JS file, is available */ | ||||
|  | ||||
| /** | ||||
|  * Porter Stemmer | ||||
|  */ | ||||
| var Stemmer = function() { | ||||
|  | ||||
|   var step2list = { | ||||
|     ational: 'ate', | ||||
|     tional: 'tion', | ||||
|     enci: 'ence', | ||||
|     anci: 'ance', | ||||
|     izer: 'ize', | ||||
|     bli: 'ble', | ||||
|     alli: 'al', | ||||
|     entli: 'ent', | ||||
|     eli: 'e', | ||||
|     ousli: 'ous', | ||||
|     ization: 'ize', | ||||
|     ation: 'ate', | ||||
|     ator: 'ate', | ||||
|     alism: 'al', | ||||
|     iveness: 'ive', | ||||
|     fulness: 'ful', | ||||
|     ousness: 'ous', | ||||
|     aliti: 'al', | ||||
|     iviti: 'ive', | ||||
|     biliti: 'ble', | ||||
|     logi: 'log' | ||||
|   }; | ||||
|  | ||||
|   var step3list = { | ||||
|     icate: 'ic', | ||||
|     ative: '', | ||||
|     alize: 'al', | ||||
|     iciti: 'ic', | ||||
|     ical: 'ic', | ||||
|     ful: '', | ||||
|     ness: '' | ||||
|   }; | ||||
|  | ||||
|   var c = "[^aeiou]";          // consonant | ||||
|   var v = "[aeiouy]";          // vowel | ||||
|   var C = c + "[^aeiouy]*";    // consonant sequence | ||||
|   var V = v + "[aeiou]*";      // vowel sequence | ||||
|  | ||||
|   var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0 | ||||
|   var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1 | ||||
|   var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1 | ||||
|   var s_v   = "^(" + C + ")?" + v;                         // vowel in stem | ||||
|  | ||||
|   this.stemWord = function (w) { | ||||
|     var stem; | ||||
|     var suffix; | ||||
|     var firstch; | ||||
|     var origword = w; | ||||
|  | ||||
|     if (w.length < 3) | ||||
|       return w; | ||||
|  | ||||
|     var re; | ||||
|     var re2; | ||||
|     var re3; | ||||
|     var re4; | ||||
|  | ||||
|     firstch = w.substr(0,1); | ||||
|     if (firstch == "y") | ||||
|       w = firstch.toUpperCase() + w.substr(1); | ||||
|  | ||||
|     // Step 1a | ||||
|     re = /^(.+?)(ss|i)es$/; | ||||
|     re2 = /^(.+?)([^s])s$/; | ||||
|  | ||||
|     if (re.test(w)) | ||||
|       w = w.replace(re,"$1$2"); | ||||
|     else if (re2.test(w)) | ||||
|       w = w.replace(re2,"$1$2"); | ||||
|  | ||||
|     // Step 1b | ||||
|     re = /^(.+?)eed$/; | ||||
|     re2 = /^(.+?)(ed|ing)$/; | ||||
|     if (re.test(w)) { | ||||
|       var fp = re.exec(w); | ||||
|       re = new RegExp(mgr0); | ||||
|       if (re.test(fp[1])) { | ||||
|         re = /.$/; | ||||
|         w = w.replace(re,""); | ||||
|       } | ||||
|     } | ||||
|     else if (re2.test(w)) { | ||||
|       var fp = re2.exec(w); | ||||
|       stem = fp[1]; | ||||
|       re2 = new RegExp(s_v); | ||||
|       if (re2.test(stem)) { | ||||
|         w = stem; | ||||
|         re2 = /(at|bl|iz)$/; | ||||
|         re3 = new RegExp("([^aeiouylsz])\\1$"); | ||||
|         re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); | ||||
|         if (re2.test(w)) | ||||
|           w = w + "e"; | ||||
|         else if (re3.test(w)) { | ||||
|           re = /.$/; | ||||
|           w = w.replace(re,""); | ||||
|         } | ||||
|         else if (re4.test(w)) | ||||
|           w = w + "e"; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // Step 1c | ||||
|     re = /^(.+?)y$/; | ||||
|     if (re.test(w)) { | ||||
|       var fp = re.exec(w); | ||||
|       stem = fp[1]; | ||||
|       re = new RegExp(s_v); | ||||
|       if (re.test(stem)) | ||||
|         w = stem + "i"; | ||||
|     } | ||||
|  | ||||
|     // Step 2 | ||||
|     re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; | ||||
|     if (re.test(w)) { | ||||
|       var fp = re.exec(w); | ||||
|       stem = fp[1]; | ||||
|       suffix = fp[2]; | ||||
|       re = new RegExp(mgr0); | ||||
|       if (re.test(stem)) | ||||
|         w = stem + step2list[suffix]; | ||||
|     } | ||||
|  | ||||
|     // Step 3 | ||||
|     re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; | ||||
|     if (re.test(w)) { | ||||
|       var fp = re.exec(w); | ||||
|       stem = fp[1]; | ||||
|       suffix = fp[2]; | ||||
|       re = new RegExp(mgr0); | ||||
|       if (re.test(stem)) | ||||
|         w = stem + step3list[suffix]; | ||||
|     } | ||||
|  | ||||
|     // Step 4 | ||||
|     re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; | ||||
|     re2 = /^(.+?)(s|t)(ion)$/; | ||||
|     if (re.test(w)) { | ||||
|       var fp = re.exec(w); | ||||
|       stem = fp[1]; | ||||
|       re = new RegExp(mgr1); | ||||
|       if (re.test(stem)) | ||||
|         w = stem; | ||||
|     } | ||||
|     else if (re2.test(w)) { | ||||
|       var fp = re2.exec(w); | ||||
|       stem = fp[1] + fp[2]; | ||||
|       re2 = new RegExp(mgr1); | ||||
|       if (re2.test(stem)) | ||||
|         w = stem; | ||||
|     } | ||||
|  | ||||
|     // Step 5 | ||||
|     re = /^(.+?)e$/; | ||||
|     if (re.test(w)) { | ||||
|       var fp = re.exec(w); | ||||
|       stem = fp[1]; | ||||
|       re = new RegExp(mgr1); | ||||
|       re2 = new RegExp(meq1); | ||||
|       re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); | ||||
|       if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) | ||||
|         w = stem; | ||||
|     } | ||||
|     re = /ll$/; | ||||
|     re2 = new RegExp(mgr1); | ||||
|     if (re.test(w) && re2.test(w)) { | ||||
|       re = /.$/; | ||||
|       w = w.replace(re,""); | ||||
|     } | ||||
|  | ||||
|     // and turn initial Y back to y | ||||
|     if (firstch == "y") | ||||
|       w = firstch.toLowerCase() + w.substr(1); | ||||
|     return w; | ||||
|   } | ||||
| } | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/_static/minus.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/minus.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 90 B | 
							
								
								
									
										
											BIN
										
									
								
								docs/_static/plus.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/plus.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 90 B | 
							
								
								
									
										74
									
								
								docs/_static/pygments.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								docs/_static/pygments.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| pre { line-height: 125%; } | ||||
| td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } | ||||
| span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } | ||||
| td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } | ||||
| span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } | ||||
| .highlight .hll { background-color: #ffffcc } | ||||
| .highlight { background: #f8f8f8; } | ||||
| .highlight .c { color: #3D7B7B; font-style: italic } /* Comment */ | ||||
| .highlight .err { border: 1px solid #FF0000 } /* Error */ | ||||
| .highlight .k { color: #008000; font-weight: bold } /* Keyword */ | ||||
| .highlight .o { color: #666666 } /* Operator */ | ||||
| .highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ | ||||
| .highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ | ||||
| .highlight .cp { color: #9C6500 } /* Comment.Preproc */ | ||||
| .highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ | ||||
| .highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ | ||||
| .highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ | ||||
| .highlight .gd { color: #A00000 } /* Generic.Deleted */ | ||||
| .highlight .ge { font-style: italic } /* Generic.Emph */ | ||||
| .highlight .gr { color: #E40000 } /* Generic.Error */ | ||||
| .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ | ||||
| .highlight .gi { color: #008400 } /* Generic.Inserted */ | ||||
| .highlight .go { color: #717171 } /* Generic.Output */ | ||||
| .highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ | ||||
| .highlight .gs { font-weight: bold } /* Generic.Strong */ | ||||
| .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ | ||||
| .highlight .gt { color: #0044DD } /* Generic.Traceback */ | ||||
| .highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ | ||||
| .highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ | ||||
| .highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ | ||||
| .highlight .kp { color: #008000 } /* Keyword.Pseudo */ | ||||
| .highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ | ||||
| .highlight .kt { color: #B00040 } /* Keyword.Type */ | ||||
| .highlight .m { color: #666666 } /* Literal.Number */ | ||||
| .highlight .s { color: #BA2121 } /* Literal.String */ | ||||
| .highlight .na { color: #687822 } /* Name.Attribute */ | ||||
| .highlight .nb { color: #008000 } /* Name.Builtin */ | ||||
| .highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ | ||||
| .highlight .no { color: #880000 } /* Name.Constant */ | ||||
| .highlight .nd { color: #AA22FF } /* Name.Decorator */ | ||||
| .highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */ | ||||
| .highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ | ||||
| .highlight .nf { color: #0000FF } /* Name.Function */ | ||||
| .highlight .nl { color: #767600 } /* Name.Label */ | ||||
| .highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ | ||||
| .highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ | ||||
| .highlight .nv { color: #19177C } /* Name.Variable */ | ||||
| .highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ | ||||
| .highlight .w { color: #bbbbbb } /* Text.Whitespace */ | ||||
| .highlight .mb { color: #666666 } /* Literal.Number.Bin */ | ||||
| .highlight .mf { color: #666666 } /* Literal.Number.Float */ | ||||
| .highlight .mh { color: #666666 } /* Literal.Number.Hex */ | ||||
| .highlight .mi { color: #666666 } /* Literal.Number.Integer */ | ||||
| .highlight .mo { color: #666666 } /* Literal.Number.Oct */ | ||||
| .highlight .sa { color: #BA2121 } /* Literal.String.Affix */ | ||||
| .highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ | ||||
| .highlight .sc { color: #BA2121 } /* Literal.String.Char */ | ||||
| .highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ | ||||
| .highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ | ||||
| .highlight .s2 { color: #BA2121 } /* Literal.String.Double */ | ||||
| .highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ | ||||
| .highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ | ||||
| .highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ | ||||
| .highlight .sx { color: #008000 } /* Literal.String.Other */ | ||||
| .highlight .sr { color: #A45A77 } /* Literal.String.Regex */ | ||||
| .highlight .s1 { color: #BA2121 } /* Literal.String.Single */ | ||||
| .highlight .ss { color: #19177C } /* Literal.String.Symbol */ | ||||
| .highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ | ||||
| .highlight .fm { color: #0000FF } /* Name.Function.Magic */ | ||||
| .highlight .vc { color: #19177C } /* Name.Variable.Class */ | ||||
| .highlight .vg { color: #19177C } /* Name.Variable.Global */ | ||||
| .highlight .vi { color: #19177C } /* Name.Variable.Instance */ | ||||
| .highlight .vm { color: #19177C } /* Name.Variable.Magic */ | ||||
| .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ | ||||
							
								
								
									
										566
									
								
								docs/_static/searchtools.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										566
									
								
								docs/_static/searchtools.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,566 @@ | ||||
| /* | ||||
|  * searchtools.js | ||||
|  * ~~~~~~~~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx JavaScript utilities for the full-text search. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
| "use strict"; | ||||
|  | ||||
| /** | ||||
|  * Simple result scoring code. | ||||
|  */ | ||||
| if (typeof Scorer === "undefined") { | ||||
|   var Scorer = { | ||||
|     // Implement the following function to further tweak the score for each result | ||||
|     // The function takes a result array [docname, title, anchor, descr, score, filename] | ||||
|     // and returns the new score. | ||||
|     /* | ||||
|     score: result => { | ||||
|       const [docname, title, anchor, descr, score, filename] = result | ||||
|       return score | ||||
|     }, | ||||
|     */ | ||||
|  | ||||
|     // query matches the full name of an object | ||||
|     objNameMatch: 11, | ||||
|     // or matches in the last dotted part of the object name | ||||
|     objPartialMatch: 6, | ||||
|     // Additive scores depending on the priority of the object | ||||
|     objPrio: { | ||||
|       0: 15, // used to be importantResults | ||||
|       1: 5, // used to be objectResults | ||||
|       2: -5, // used to be unimportantResults | ||||
|     }, | ||||
|     //  Used when the priority is not in the mapping. | ||||
|     objPrioDefault: 0, | ||||
|  | ||||
|     // query found in title | ||||
|     title: 15, | ||||
|     partialTitle: 7, | ||||
|     // query found in terms | ||||
|     term: 5, | ||||
|     partialTerm: 2, | ||||
|   }; | ||||
| } | ||||
|  | ||||
| const _removeChildren = (element) => { | ||||
|   while (element && element.lastChild) element.removeChild(element.lastChild); | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping | ||||
|  */ | ||||
| const _escapeRegExp = (string) => | ||||
|   string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string | ||||
|  | ||||
| const _displayItem = (item, searchTerms) => { | ||||
|   const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; | ||||
|   const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; | ||||
|   const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; | ||||
|   const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; | ||||
|   const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; | ||||
|  | ||||
|   const [docName, title, anchor, descr, score, _filename] = item; | ||||
|  | ||||
|   let listItem = document.createElement("li"); | ||||
|   let requestUrl; | ||||
|   let linkUrl; | ||||
|   if (docBuilder === "dirhtml") { | ||||
|     // dirhtml builder | ||||
|     let dirname = docName + "/"; | ||||
|     if (dirname.match(/\/index\/$/)) | ||||
|       dirname = dirname.substring(0, dirname.length - 6); | ||||
|     else if (dirname === "index/") dirname = ""; | ||||
|     requestUrl = docUrlRoot + dirname; | ||||
|     linkUrl = requestUrl; | ||||
|   } else { | ||||
|     // normal html builders | ||||
|     requestUrl = docUrlRoot + docName + docFileSuffix; | ||||
|     linkUrl = docName + docLinkSuffix; | ||||
|   } | ||||
|   let linkEl = listItem.appendChild(document.createElement("a")); | ||||
|   linkEl.href = linkUrl + anchor; | ||||
|   linkEl.dataset.score = score; | ||||
|   linkEl.innerHTML = title; | ||||
|   if (descr) | ||||
|     listItem.appendChild(document.createElement("span")).innerHTML = | ||||
|       " (" + descr + ")"; | ||||
|   else if (showSearchSummary) | ||||
|     fetch(requestUrl) | ||||
|       .then((responseData) => responseData.text()) | ||||
|       .then((data) => { | ||||
|         if (data) | ||||
|           listItem.appendChild( | ||||
|             Search.makeSearchSummary(data, searchTerms) | ||||
|           ); | ||||
|       }); | ||||
|   Search.output.appendChild(listItem); | ||||
| }; | ||||
| const _finishSearch = (resultCount) => { | ||||
|   Search.stopPulse(); | ||||
|   Search.title.innerText = _("Search Results"); | ||||
|   if (!resultCount) | ||||
|     Search.status.innerText = Documentation.gettext( | ||||
|       "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." | ||||
|     ); | ||||
|   else | ||||
|     Search.status.innerText = _( | ||||
|       `Search finished, found ${resultCount} page(s) matching the search query.` | ||||
|     ); | ||||
| }; | ||||
| const _displayNextItem = ( | ||||
|   results, | ||||
|   resultCount, | ||||
|   searchTerms | ||||
| ) => { | ||||
|   // results left, load the summary and display it | ||||
|   // this is intended to be dynamic (don't sub resultsCount) | ||||
|   if (results.length) { | ||||
|     _displayItem(results.pop(), searchTerms); | ||||
|     setTimeout( | ||||
|       () => _displayNextItem(results, resultCount, searchTerms), | ||||
|       5 | ||||
|     ); | ||||
|   } | ||||
|   // search finished, update title and status message | ||||
|   else _finishSearch(resultCount); | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Default splitQuery function. Can be overridden in ``sphinx.search`` with a | ||||
|  * custom function per language. | ||||
|  * | ||||
|  * The regular expression works by splitting the string on consecutive characters | ||||
|  * that are not Unicode letters, numbers, underscores, or emoji characters. | ||||
|  * This is the same as ``\W+`` in Python, preserving the surrogate pair area. | ||||
|  */ | ||||
| if (typeof splitQuery === "undefined") { | ||||
|   var splitQuery = (query) => query | ||||
|       .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) | ||||
|       .filter(term => term)  // remove remaining empty strings | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Search Module | ||||
|  */ | ||||
| const Search = { | ||||
|   _index: null, | ||||
|   _queued_query: null, | ||||
|   _pulse_status: -1, | ||||
|  | ||||
|   htmlToText: (htmlString) => { | ||||
|     const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); | ||||
|     htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); | ||||
|     const docContent = htmlElement.querySelector('[role="main"]'); | ||||
|     if (docContent !== undefined) return docContent.textContent; | ||||
|     console.warn( | ||||
|       "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." | ||||
|     ); | ||||
|     return ""; | ||||
|   }, | ||||
|  | ||||
|   init: () => { | ||||
|     const query = new URLSearchParams(window.location.search).get("q"); | ||||
|     document | ||||
|       .querySelectorAll('input[name="q"]') | ||||
|       .forEach((el) => (el.value = query)); | ||||
|     if (query) Search.performSearch(query); | ||||
|   }, | ||||
|  | ||||
|   loadIndex: (url) => | ||||
|     (document.body.appendChild(document.createElement("script")).src = url), | ||||
|  | ||||
|   setIndex: (index) => { | ||||
|     Search._index = index; | ||||
|     if (Search._queued_query !== null) { | ||||
|       const query = Search._queued_query; | ||||
|       Search._queued_query = null; | ||||
|       Search.query(query); | ||||
|     } | ||||
|   }, | ||||
|  | ||||
|   hasIndex: () => Search._index !== null, | ||||
|  | ||||
|   deferQuery: (query) => (Search._queued_query = query), | ||||
|  | ||||
|   stopPulse: () => (Search._pulse_status = -1), | ||||
|  | ||||
|   startPulse: () => { | ||||
|     if (Search._pulse_status >= 0) return; | ||||
|  | ||||
|     const pulse = () => { | ||||
|       Search._pulse_status = (Search._pulse_status + 1) % 4; | ||||
|       Search.dots.innerText = ".".repeat(Search._pulse_status); | ||||
|       if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); | ||||
|     }; | ||||
|     pulse(); | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * perform a search for something (or wait until index is loaded) | ||||
|    */ | ||||
|   performSearch: (query) => { | ||||
|     // create the required interface elements | ||||
|     const searchText = document.createElement("h2"); | ||||
|     searchText.textContent = _("Searching"); | ||||
|     const searchSummary = document.createElement("p"); | ||||
|     searchSummary.classList.add("search-summary"); | ||||
|     searchSummary.innerText = ""; | ||||
|     const searchList = document.createElement("ul"); | ||||
|     searchList.classList.add("search"); | ||||
|  | ||||
|     const out = document.getElementById("search-results"); | ||||
|     Search.title = out.appendChild(searchText); | ||||
|     Search.dots = Search.title.appendChild(document.createElement("span")); | ||||
|     Search.status = out.appendChild(searchSummary); | ||||
|     Search.output = out.appendChild(searchList); | ||||
|  | ||||
|     const searchProgress = document.getElementById("search-progress"); | ||||
|     // Some themes don't use the search progress node | ||||
|     if (searchProgress) { | ||||
|       searchProgress.innerText = _("Preparing search..."); | ||||
|     } | ||||
|     Search.startPulse(); | ||||
|  | ||||
|     // index already loaded, the browser was quick! | ||||
|     if (Search.hasIndex()) Search.query(query); | ||||
|     else Search.deferQuery(query); | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * execute search (requires search index to be loaded) | ||||
|    */ | ||||
|   query: (query) => { | ||||
|     const filenames = Search._index.filenames; | ||||
|     const docNames = Search._index.docnames; | ||||
|     const titles = Search._index.titles; | ||||
|     const allTitles = Search._index.alltitles; | ||||
|     const indexEntries = Search._index.indexentries; | ||||
|  | ||||
|     // stem the search terms and add them to the correct list | ||||
|     const stemmer = new Stemmer(); | ||||
|     const searchTerms = new Set(); | ||||
|     const excludedTerms = new Set(); | ||||
|     const highlightTerms = new Set(); | ||||
|     const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); | ||||
|     splitQuery(query.trim()).forEach((queryTerm) => { | ||||
|       const queryTermLower = queryTerm.toLowerCase(); | ||||
|  | ||||
|       // maybe skip this "word" | ||||
|       // stopwords array is from language_data.js | ||||
|       if ( | ||||
|         stopwords.indexOf(queryTermLower) !== -1 || | ||||
|         queryTerm.match(/^\d+$/) | ||||
|       ) | ||||
|         return; | ||||
|  | ||||
|       // stem the word | ||||
|       let word = stemmer.stemWord(queryTermLower); | ||||
|       // select the correct list | ||||
|       if (word[0] === "-") excludedTerms.add(word.substr(1)); | ||||
|       else { | ||||
|         searchTerms.add(word); | ||||
|         highlightTerms.add(queryTermLower); | ||||
|       } | ||||
|     }); | ||||
|  | ||||
|     if (SPHINX_HIGHLIGHT_ENABLED) {  // set in sphinx_highlight.js | ||||
|       localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) | ||||
|     } | ||||
|  | ||||
|     // console.debug("SEARCH: searching for:"); | ||||
|     // console.info("required: ", [...searchTerms]); | ||||
|     // console.info("excluded: ", [...excludedTerms]); | ||||
|  | ||||
|     // array of [docname, title, anchor, descr, score, filename] | ||||
|     let results = []; | ||||
|     _removeChildren(document.getElementById("search-progress")); | ||||
|  | ||||
|     const queryLower = query.toLowerCase(); | ||||
|     for (const [title, foundTitles] of Object.entries(allTitles)) { | ||||
|       if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { | ||||
|         for (const [file, id] of foundTitles) { | ||||
|           let score = Math.round(100 * queryLower.length / title.length) | ||||
|           results.push([ | ||||
|             docNames[file], | ||||
|             titles[file] !== title ? `${titles[file]} > ${title}` : title, | ||||
|             id !== null ? "#" + id : "", | ||||
|             null, | ||||
|             score, | ||||
|             filenames[file], | ||||
|           ]); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // search for explicit entries in index directives | ||||
|     for (const [entry, foundEntries] of Object.entries(indexEntries)) { | ||||
|       if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { | ||||
|         for (const [file, id] of foundEntries) { | ||||
|           let score = Math.round(100 * queryLower.length / entry.length) | ||||
|           results.push([ | ||||
|             docNames[file], | ||||
|             titles[file], | ||||
|             id ? "#" + id : "", | ||||
|             null, | ||||
|             score, | ||||
|             filenames[file], | ||||
|           ]); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // lookup as object | ||||
|     objectTerms.forEach((term) => | ||||
|       results.push(...Search.performObjectSearch(term, objectTerms)) | ||||
|     ); | ||||
|  | ||||
|     // lookup as search terms in fulltext | ||||
|     results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); | ||||
|  | ||||
|     // let the scorer override scores with a custom scoring function | ||||
|     if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); | ||||
|  | ||||
|     // now sort the results by score (in opposite order of appearance, since the | ||||
|     // display function below uses pop() to retrieve items) and then | ||||
|     // alphabetically | ||||
|     results.sort((a, b) => { | ||||
|       const leftScore = a[4]; | ||||
|       const rightScore = b[4]; | ||||
|       if (leftScore === rightScore) { | ||||
|         // same score: sort alphabetically | ||||
|         const leftTitle = a[1].toLowerCase(); | ||||
|         const rightTitle = b[1].toLowerCase(); | ||||
|         if (leftTitle === rightTitle) return 0; | ||||
|         return leftTitle > rightTitle ? -1 : 1; // inverted is intentional | ||||
|       } | ||||
|       return leftScore > rightScore ? 1 : -1; | ||||
|     }); | ||||
|  | ||||
|     // remove duplicate search results | ||||
|     // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept | ||||
|     let seen = new Set(); | ||||
|     results = results.reverse().reduce((acc, result) => { | ||||
|       let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); | ||||
|       if (!seen.has(resultStr)) { | ||||
|         acc.push(result); | ||||
|         seen.add(resultStr); | ||||
|       } | ||||
|       return acc; | ||||
|     }, []); | ||||
|  | ||||
|     results = results.reverse(); | ||||
|  | ||||
|     // for debugging | ||||
|     //Search.lastresults = results.slice();  // a copy | ||||
|     // console.info("search results:", Search.lastresults); | ||||
|  | ||||
|     // print the results | ||||
|     _displayNextItem(results, results.length, searchTerms); | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * search for object names | ||||
|    */ | ||||
|   performObjectSearch: (object, objectTerms) => { | ||||
|     const filenames = Search._index.filenames; | ||||
|     const docNames = Search._index.docnames; | ||||
|     const objects = Search._index.objects; | ||||
|     const objNames = Search._index.objnames; | ||||
|     const titles = Search._index.titles; | ||||
|  | ||||
|     const results = []; | ||||
|  | ||||
|     const objectSearchCallback = (prefix, match) => { | ||||
|       const name = match[4] | ||||
|       const fullname = (prefix ? prefix + "." : "") + name; | ||||
|       const fullnameLower = fullname.toLowerCase(); | ||||
|       if (fullnameLower.indexOf(object) < 0) return; | ||||
|  | ||||
|       let score = 0; | ||||
|       const parts = fullnameLower.split("."); | ||||
|  | ||||
|       // check for different match types: exact matches of full name or | ||||
|       // "last name" (i.e. last dotted part) | ||||
|       if (fullnameLower === object || parts.slice(-1)[0] === object) | ||||
|         score += Scorer.objNameMatch; | ||||
|       else if (parts.slice(-1)[0].indexOf(object) > -1) | ||||
|         score += Scorer.objPartialMatch; // matches in last name | ||||
|  | ||||
|       const objName = objNames[match[1]][2]; | ||||
|       const title = titles[match[0]]; | ||||
|  | ||||
|       // If more than one term searched for, we require other words to be | ||||
|       // found in the name/title/description | ||||
|       const otherTerms = new Set(objectTerms); | ||||
|       otherTerms.delete(object); | ||||
|       if (otherTerms.size > 0) { | ||||
|         const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); | ||||
|         if ( | ||||
|           [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) | ||||
|         ) | ||||
|           return; | ||||
|       } | ||||
|  | ||||
|       let anchor = match[3]; | ||||
|       if (anchor === "") anchor = fullname; | ||||
|       else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; | ||||
|  | ||||
|       const descr = objName + _(", in ") + title; | ||||
|  | ||||
|       // add custom score for some objects according to scorer | ||||
|       if (Scorer.objPrio.hasOwnProperty(match[2])) | ||||
|         score += Scorer.objPrio[match[2]]; | ||||
|       else score += Scorer.objPrioDefault; | ||||
|  | ||||
|       results.push([ | ||||
|         docNames[match[0]], | ||||
|         fullname, | ||||
|         "#" + anchor, | ||||
|         descr, | ||||
|         score, | ||||
|         filenames[match[0]], | ||||
|       ]); | ||||
|     }; | ||||
|     Object.keys(objects).forEach((prefix) => | ||||
|       objects[prefix].forEach((array) => | ||||
|         objectSearchCallback(prefix, array) | ||||
|       ) | ||||
|     ); | ||||
|     return results; | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * search for full-text terms in the index | ||||
|    */ | ||||
|   performTermsSearch: (searchTerms, excludedTerms) => { | ||||
|     // prepare search | ||||
|     const terms = Search._index.terms; | ||||
|     const titleTerms = Search._index.titleterms; | ||||
|     const filenames = Search._index.filenames; | ||||
|     const docNames = Search._index.docnames; | ||||
|     const titles = Search._index.titles; | ||||
|  | ||||
|     const scoreMap = new Map(); | ||||
|     const fileMap = new Map(); | ||||
|  | ||||
|     // perform the search on the required terms | ||||
|     searchTerms.forEach((word) => { | ||||
|       const files = []; | ||||
|       const arr = [ | ||||
|         { files: terms[word], score: Scorer.term }, | ||||
|         { files: titleTerms[word], score: Scorer.title }, | ||||
|       ]; | ||||
|       // add support for partial matches | ||||
|       if (word.length > 2) { | ||||
|         const escapedWord = _escapeRegExp(word); | ||||
|         Object.keys(terms).forEach((term) => { | ||||
|           if (term.match(escapedWord) && !terms[word]) | ||||
|             arr.push({ files: terms[term], score: Scorer.partialTerm }); | ||||
|         }); | ||||
|         Object.keys(titleTerms).forEach((term) => { | ||||
|           if (term.match(escapedWord) && !titleTerms[word]) | ||||
|             arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); | ||||
|         }); | ||||
|       } | ||||
|  | ||||
|       // no match but word was a required one | ||||
|       if (arr.every((record) => record.files === undefined)) return; | ||||
|  | ||||
|       // found search word in contents | ||||
|       arr.forEach((record) => { | ||||
|         if (record.files === undefined) return; | ||||
|  | ||||
|         let recordFiles = record.files; | ||||
|         if (recordFiles.length === undefined) recordFiles = [recordFiles]; | ||||
|         files.push(...recordFiles); | ||||
|  | ||||
|         // set score for the word in each file | ||||
|         recordFiles.forEach((file) => { | ||||
|           if (!scoreMap.has(file)) scoreMap.set(file, {}); | ||||
|           scoreMap.get(file)[word] = record.score; | ||||
|         }); | ||||
|       }); | ||||
|  | ||||
|       // create the mapping | ||||
|       files.forEach((file) => { | ||||
|         if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) | ||||
|           fileMap.get(file).push(word); | ||||
|         else fileMap.set(file, [word]); | ||||
|       }); | ||||
|     }); | ||||
|  | ||||
|     // now check if the files don't contain excluded terms | ||||
|     const results = []; | ||||
|     for (const [file, wordList] of fileMap) { | ||||
|       // check if all requirements are matched | ||||
|  | ||||
|       // as search terms with length < 3 are discarded | ||||
|       const filteredTermCount = [...searchTerms].filter( | ||||
|         (term) => term.length > 2 | ||||
|       ).length; | ||||
|       if ( | ||||
|         wordList.length !== searchTerms.size && | ||||
|         wordList.length !== filteredTermCount | ||||
|       ) | ||||
|         continue; | ||||
|  | ||||
|       // ensure that none of the excluded terms is in the search result | ||||
|       if ( | ||||
|         [...excludedTerms].some( | ||||
|           (term) => | ||||
|             terms[term] === file || | ||||
|             titleTerms[term] === file || | ||||
|             (terms[term] || []).includes(file) || | ||||
|             (titleTerms[term] || []).includes(file) | ||||
|         ) | ||||
|       ) | ||||
|         break; | ||||
|  | ||||
|       // select one (max) score for the file. | ||||
|       const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); | ||||
|       // add result to the result list | ||||
|       results.push([ | ||||
|         docNames[file], | ||||
|         titles[file], | ||||
|         "", | ||||
|         null, | ||||
|         score, | ||||
|         filenames[file], | ||||
|       ]); | ||||
|     } | ||||
|     return results; | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * helper function to return a node containing the | ||||
|    * search summary for a given text. keywords is a list | ||||
|    * of stemmed words. | ||||
|    */ | ||||
|   makeSearchSummary: (htmlText, keywords) => { | ||||
|     const text = Search.htmlToText(htmlText); | ||||
|     if (text === "") return null; | ||||
|  | ||||
|     const textLower = text.toLowerCase(); | ||||
|     const actualStartPosition = [...keywords] | ||||
|       .map((k) => textLower.indexOf(k.toLowerCase())) | ||||
|       .filter((i) => i > -1) | ||||
|       .slice(-1)[0]; | ||||
|     const startWithContext = Math.max(actualStartPosition - 120, 0); | ||||
|  | ||||
|     const top = startWithContext === 0 ? "" : "..."; | ||||
|     const tail = startWithContext + 240 < text.length ? "..." : ""; | ||||
|  | ||||
|     let summary = document.createElement("p"); | ||||
|     summary.classList.add("context"); | ||||
|     summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; | ||||
|  | ||||
|     return summary; | ||||
|   }, | ||||
| }; | ||||
|  | ||||
| _ready(Search.init); | ||||
							
								
								
									
										144
									
								
								docs/_static/sphinx_highlight.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								docs/_static/sphinx_highlight.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,144 @@ | ||||
| /* Highlighting utilities for Sphinx HTML documentation. */ | ||||
| "use strict"; | ||||
|  | ||||
| const SPHINX_HIGHLIGHT_ENABLED = true | ||||
|  | ||||
| /** | ||||
|  * highlight a given string on a node by wrapping it in | ||||
|  * span elements with the given class name. | ||||
|  */ | ||||
| const _highlight = (node, addItems, text, className) => { | ||||
|   if (node.nodeType === Node.TEXT_NODE) { | ||||
|     const val = node.nodeValue; | ||||
|     const parent = node.parentNode; | ||||
|     const pos = val.toLowerCase().indexOf(text); | ||||
|     if ( | ||||
|       pos >= 0 && | ||||
|       !parent.classList.contains(className) && | ||||
|       !parent.classList.contains("nohighlight") | ||||
|     ) { | ||||
|       let span; | ||||
|  | ||||
|       const closestNode = parent.closest("body, svg, foreignObject"); | ||||
|       const isInSVG = closestNode && closestNode.matches("svg"); | ||||
|       if (isInSVG) { | ||||
|         span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); | ||||
|       } else { | ||||
|         span = document.createElement("span"); | ||||
|         span.classList.add(className); | ||||
|       } | ||||
|  | ||||
|       span.appendChild(document.createTextNode(val.substr(pos, text.length))); | ||||
|       parent.insertBefore( | ||||
|         span, | ||||
|         parent.insertBefore( | ||||
|           document.createTextNode(val.substr(pos + text.length)), | ||||
|           node.nextSibling | ||||
|         ) | ||||
|       ); | ||||
|       node.nodeValue = val.substr(0, pos); | ||||
|  | ||||
|       if (isInSVG) { | ||||
|         const rect = document.createElementNS( | ||||
|           "http://www.w3.org/2000/svg", | ||||
|           "rect" | ||||
|         ); | ||||
|         const bbox = parent.getBBox(); | ||||
|         rect.x.baseVal.value = bbox.x; | ||||
|         rect.y.baseVal.value = bbox.y; | ||||
|         rect.width.baseVal.value = bbox.width; | ||||
|         rect.height.baseVal.value = bbox.height; | ||||
|         rect.setAttribute("class", className); | ||||
|         addItems.push({ parent: parent, target: rect }); | ||||
|       } | ||||
|     } | ||||
|   } else if (node.matches && !node.matches("button, select, textarea")) { | ||||
|     node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); | ||||
|   } | ||||
| }; | ||||
| const _highlightText = (thisNode, text, className) => { | ||||
|   let addItems = []; | ||||
|   _highlight(thisNode, addItems, text, className); | ||||
|   addItems.forEach((obj) => | ||||
|     obj.parent.insertAdjacentElement("beforebegin", obj.target) | ||||
|   ); | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Small JavaScript module for the documentation. | ||||
|  */ | ||||
| const SphinxHighlight = { | ||||
|  | ||||
|   /** | ||||
|    * highlight the search words provided in localstorage in the text | ||||
|    */ | ||||
|   highlightSearchWords: () => { | ||||
|     if (!SPHINX_HIGHLIGHT_ENABLED) return;  // bail if no highlight | ||||
|  | ||||
|     // get and clear terms from localstorage | ||||
|     const url = new URL(window.location); | ||||
|     const highlight = | ||||
|         localStorage.getItem("sphinx_highlight_terms") | ||||
|         || url.searchParams.get("highlight") | ||||
|         || ""; | ||||
|     localStorage.removeItem("sphinx_highlight_terms") | ||||
|     url.searchParams.delete("highlight"); | ||||
|     window.history.replaceState({}, "", url); | ||||
|  | ||||
|     // get individual terms from highlight string | ||||
|     const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); | ||||
|     if (terms.length === 0) return; // nothing to do | ||||
|  | ||||
|     // There should never be more than one element matching "div.body" | ||||
|     const divBody = document.querySelectorAll("div.body"); | ||||
|     const body = divBody.length ? divBody[0] : document.querySelector("body"); | ||||
|     window.setTimeout(() => { | ||||
|       terms.forEach((term) => _highlightText(body, term, "highlighted")); | ||||
|     }, 10); | ||||
|  | ||||
|     const searchBox = document.getElementById("searchbox"); | ||||
|     if (searchBox === null) return; | ||||
|     searchBox.appendChild( | ||||
|       document | ||||
|         .createRange() | ||||
|         .createContextualFragment( | ||||
|           '<p class="highlight-link">' + | ||||
|             '<a href="javascript:SphinxHighlight.hideSearchWords()">' + | ||||
|             _("Hide Search Matches") + | ||||
|             "</a></p>" | ||||
|         ) | ||||
|     ); | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|    * helper function to hide the search marks again | ||||
|    */ | ||||
|   hideSearchWords: () => { | ||||
|     document | ||||
|       .querySelectorAll("#searchbox .highlight-link") | ||||
|       .forEach((el) => el.remove()); | ||||
|     document | ||||
|       .querySelectorAll("span.highlighted") | ||||
|       .forEach((el) => el.classList.remove("highlighted")); | ||||
|     localStorage.removeItem("sphinx_highlight_terms") | ||||
|   }, | ||||
|  | ||||
|   initEscapeListener: () => { | ||||
|     // only install a listener if it is really needed | ||||
|     if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; | ||||
|  | ||||
|     document.addEventListener("keydown", (event) => { | ||||
|       // bail for input elements | ||||
|       if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; | ||||
|       // bail with special keys | ||||
|       if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; | ||||
|       if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { | ||||
|         SphinxHighlight.hideSearchWords(); | ||||
|         event.preventDefault(); | ||||
|       } | ||||
|     }); | ||||
|   }, | ||||
| }; | ||||
|  | ||||
| _ready(SphinxHighlight.highlightSearchWords); | ||||
| _ready(SphinxHighlight.initEscapeListener); | ||||
							
								
								
									
										6
									
								
								docs/_static/twemoji.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								docs/_static/twemoji.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| img.emoji { | ||||
|     height: 1em; | ||||
|     width: 1em; | ||||
|     margin: 0 .05em 0 .1em; | ||||
|     vertical-align: -0.1em; | ||||
| } | ||||
							
								
								
									
										10
									
								
								docs/_static/twemoji.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								docs/_static/twemoji.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| function addEvent(element, eventName, fn) { | ||||
|     if (element.addEventListener) | ||||
|         element.addEventListener(eventName, fn, false); | ||||
|     else if (element.attachEvent) | ||||
|         element.attachEvent('on' + eventName, fn); | ||||
| } | ||||
|  | ||||
| addEvent(window, 'load', function() { | ||||
|     twemoji.parse(document.body, {'folder': 'svg', 'ext': '.svg'}); | ||||
| }); | ||||
							
								
								
									
										141
									
								
								docs/about.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								docs/about.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,141 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> | ||||
|  | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>About Inkycal — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <link rel="author" title="About these documents" href="#" /> | ||||
|     <link rel="index" title="Index" href="genindex.html" /> | ||||
|     <link rel="search" title="Search" href="search.html" /> | ||||
|     <link rel="next" title="Quickstart" href="quickstart.html" /> | ||||
|     <link rel="prev" title="Inkycal" href="inkycal.html" />  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="index.html" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul class="current"> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1 current"><a class="current reference internal" href="#">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="index.html">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">About Inkycal</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|             <a href="_sources/about.md.txt" rel="nofollow"> View page source</a> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|   <section id="about-inkycal"> | ||||
| <h1>About Inkycal<a class="headerlink" href="#about-inkycal" title="Permalink to this heading"></a></h1> | ||||
| <img align="center" src="https://github.com/aceinnolab/Inkycal/blob/assets/Repo/logo.png" width="800" alt="inkycal logo"><p>Inkycal is a python3 software for selected E-Paper displays. | ||||
| It’s open-source (non-commercially), fully modular, user-friendly and even runs | ||||
| well even on the Raspberry Pi Zero. Inkycal even has a web-UI which takes | ||||
| care of adding your details! No more editing files, Yay :partying_face:</p> | ||||
| <p>The main idea behind Inkycal was to create a dashboard that blends in well | ||||
| in it’s environment and shows you all information without you having to look | ||||
| them up. Several built-in modules help you stay organised by:</p> | ||||
| <ul class="simple"> | ||||
| <li><p>providing the weather forecast for the full week or next few hours</p></li> | ||||
| <li><p>getting the latest news from ATOM/RSS feeds</p></li> | ||||
| <li><p>showing your iCalendar agenda, which may be synchronised with your phone</p></li> | ||||
| <li><p>showing a monthly Calendar which may also show events synced with Google etc.</p></li> | ||||
| <li><p>fetch some jokes form the web to help you smile :)</p></li> | ||||
| </ul> | ||||
| <p>What’s more? It’s compatible with third party modules, if something is missing, | ||||
| you can write your own module and share it with the community.</p> | ||||
| <p>Inkycal has a friendly and helpful community on Discord in case you’re in | ||||
| a pinch setting up Inkycal. Noobs welcome too of course!</p> | ||||
| <p>Inkycal is developed mainly by <a class="reference external" href="https://github.com/aceisace">aceisace</a> - a | ||||
| university student and a few other developers in their free time. | ||||
| Open source means we work for nothing, but it doesn’t mean we don’t need | ||||
| anything. We invest a large amount of time, effort and coffee to develop | ||||
| Inkycal.</p> | ||||
| <p>Please support Inkycal via a <strong><a class="reference external" href="https://www.paypal.me/aceinnolab">DONATION</a></strong> | ||||
| to help us keep this project alive. Thank You!</p> | ||||
| </section> | ||||
|  | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> | ||||
|         <a href="inkycal.html" class="btn btn-neutral float-left" title="Inkycal" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> | ||||
|         <a href="quickstart.html" class="btn btn-neutral float-right" title="Quickstart" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> | ||||
|     </div> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script>  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										116
									
								
								docs/dev_doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								docs/dev_doc.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,116 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> | ||||
|  | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>Developer documentation — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <link rel="author" title="About these documents" href="about.html" /> | ||||
|     <link rel="index" title="Index" href="genindex.html" /> | ||||
|     <link rel="search" title="Search" href="search.html" /> | ||||
|     <link rel="prev" title="Quickstart" href="quickstart.html" />  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="index.html" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul class="current"> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li> | ||||
| <li class="toctree-l1 current"><a class="current reference internal" href="#">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="index.html">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">Developer documentation</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|             <a href="_sources/dev_doc.md.txt" rel="nofollow"> View page source</a> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|   <section id="developer-documentation"> | ||||
| <h1>Developer documentation<a class="headerlink" href="#developer-documentation" title="Permalink to this heading"></a></h1> | ||||
| <p>This documentation is mainly for developers who wish to create a third party | ||||
| module</p> | ||||
| </section> | ||||
|  | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> | ||||
|         <a href="quickstart.html" class="btn btn-neutral float-left" title="Quickstart" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> | ||||
|     </div> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script>  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										112
									
								
								docs/genindex.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								docs/genindex.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,112 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /> | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>Index — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <link rel="author" title="About these documents" href="about.html" /> | ||||
|     <link rel="index" title="Index" href="#" /> | ||||
|     <link rel="search" title="Search" href="search.html" />  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="index.html" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="index.html">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">Index</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|  | ||||
| <h1 id="index">Index</h1> | ||||
|  | ||||
| <div class="genindex-jumpbox"> | ||||
|   | ||||
| </div> | ||||
|  | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script>  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										139
									
								
								docs/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								docs/index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,139 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> | ||||
|  | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>Inkycal documentation — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <link rel="author" title="About these documents" href="about.html" /> | ||||
|     <link rel="index" title="Index" href="genindex.html" /> | ||||
|     <link rel="search" title="Search" href="search.html" /> | ||||
|     <link rel="next" title="Inkycal" href="inkycal.html" />  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="#" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="#">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="#" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">Inkycal documentation</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|             <a href="_sources/index.rst.txt" rel="nofollow"> View page source</a> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|   <section id="inkycal-documentation"> | ||||
| <h1>Inkycal documentation<a class="headerlink" href="#inkycal-documentation" title="Permalink to this heading"></a></h1> | ||||
| <img alt="../Gallery/logo.png" class="align-center" src="../Gallery/logo.png" /> | ||||
| <div class="toctree-wrapper compound"> | ||||
| <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a><ul> | ||||
| <li class="toctree-l2"><a class="reference internal" href="quickstart.html#installing-inkycal">Installing Inkycal</a></li> | ||||
| <li class="toctree-l2"><a class="reference internal" href="quickstart.html#creating-settings-file">Creating settings file</a></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
| </div> | ||||
| </section> | ||||
| <section id="indices-and-tables"> | ||||
| <h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading"></a></h1> | ||||
| <ul class="simple"> | ||||
| <li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li> | ||||
| <li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li> | ||||
| <li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li> | ||||
| </ul> | ||||
| </section> | ||||
|  | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> | ||||
|         <a href="inkycal.html" class="btn btn-neutral float-right" title="Inkycal" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> | ||||
|     </div> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script>  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										126
									
								
								docs/inkycal.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								docs/inkycal.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,126 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> | ||||
|  | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>Inkycal — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <link rel="author" title="About these documents" href="about.html" /> | ||||
|     <link rel="index" title="Index" href="genindex.html" /> | ||||
|     <link rel="search" title="Search" href="search.html" /> | ||||
|     <link rel="next" title="About Inkycal" href="about.html" /> | ||||
|     <link rel="prev" title="Inkycal documentation" href="index.html" />  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="index.html" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul class="current"> | ||||
| <li class="toctree-l1 current"><a class="current reference internal" href="#">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="index.html">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">Inkycal</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|             <a href="_sources/inkycal.rst.txt" rel="nofollow"> View page source</a> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|   <img alt="../Gallery/logo.png" class="align-center" src="../Gallery/logo.png" /> | ||||
| <section id="inkycal"> | ||||
| <h1>Inkycal<a class="headerlink" href="#inkycal" title="Permalink to this heading"></a></h1> | ||||
| </section> | ||||
| <section id="display"> | ||||
| <h1>Display<a class="headerlink" href="#display" title="Permalink to this heading"></a></h1> | ||||
| </section> | ||||
| <section id="custom-functions"> | ||||
| <h1>Custom functions<a class="headerlink" href="#custom-functions" title="Permalink to this heading"></a></h1> | ||||
| </section> | ||||
| <section id="helper-classes"> | ||||
| <h1>Helper classes<a class="headerlink" href="#helper-classes" title="Permalink to this heading"></a></h1> | ||||
| </section> | ||||
|  | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> | ||||
|         <a href="index.html" class="btn btn-neutral float-left" title="Inkycal documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> | ||||
|         <a href="about.html" class="btn btn-neutral float-right" title="About Inkycal" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> | ||||
|     </div> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script>  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/objects.inv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/objects.inv
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										152
									
								
								docs/py-modindex.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								docs/py-modindex.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,152 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /> | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>Python Module Index — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <link rel="author" title="About these documents" href="about.html" /> | ||||
|     <link rel="index" title="Index" href="genindex.html" /> | ||||
|     <link rel="search" title="Search" href="search.html" /> | ||||
|   | ||||
|  | ||||
|  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="index.html" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#module-inkycal.display.display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#module-inkycal.custom.functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#module-inkycal.modules.ical_parser">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="index.html">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">Python Module Index</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|  | ||||
|    <h1>Python Module Index</h1> | ||||
|  | ||||
|    <div class="modindex-jumpbox"> | ||||
|    <a href="#cap-i"><strong>i</strong></a> | ||||
|    </div> | ||||
|  | ||||
|    <table class="indextable modindextable"> | ||||
|      <tr class="pcap"><td></td><td> </td><td></td></tr> | ||||
|      <tr class="cap" id="cap-i"><td></td><td> | ||||
|        <strong>i</strong></td><td></td></tr> | ||||
|      <tr> | ||||
|        <td><img src="_static/minus.png" class="toggler" | ||||
|               id="toggle-1" style="display: none" alt="-" /></td> | ||||
|        <td> | ||||
|        <code class="xref">inkycal</code></td><td> | ||||
|        <em></em></td></tr> | ||||
|      <tr class="cg-1"> | ||||
|        <td></td> | ||||
|        <td>    | ||||
|        <a href="inkycal.html#module-inkycal.custom.functions"><code class="xref">inkycal.custom.functions</code></a></td><td> | ||||
|        <em></em></td></tr> | ||||
|      <tr class="cg-1"> | ||||
|        <td></td> | ||||
|        <td>    | ||||
|        <a href="inkycal.html#module-inkycal.display.display"><code class="xref">inkycal.display.display</code></a></td><td> | ||||
|        <em></em></td></tr> | ||||
|      <tr class="cg-1"> | ||||
|        <td></td> | ||||
|        <td>    | ||||
|        <a href="inkycal.html#module-inkycal.main"><code class="xref">inkycal.main</code></a></td><td> | ||||
|        <em></em></td></tr> | ||||
|      <tr class="cg-1"> | ||||
|        <td></td> | ||||
|        <td>    | ||||
|        <a href="inkycal.html#module-inkycal.modules.ical_parser"><code class="xref">inkycal.modules.ical_parser</code></a></td><td> | ||||
|        <em></em></td></tr> | ||||
|      <tr class="cg-1"> | ||||
|        <td></td> | ||||
|        <td>    | ||||
|        <a href="inkycal.html#module-inkycal.modules.inky_image"><code class="xref">inkycal.modules.inky_image</code></a></td><td> | ||||
|        <em></em></td></tr> | ||||
|    </table> | ||||
|  | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script>  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										140
									
								
								docs/quickstart.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								docs/quickstart.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,140 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> | ||||
|  | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>Quickstart — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <link rel="author" title="About these documents" href="about.html" /> | ||||
|     <link rel="index" title="Index" href="genindex.html" /> | ||||
|     <link rel="search" title="Search" href="search.html" /> | ||||
|     <link rel="next" title="Developer documentation" href="dev_doc.html" /> | ||||
|     <link rel="prev" title="About Inkycal" href="about.html" />  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="index.html" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul class="current"> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1 current"><a class="current reference internal" href="#">Quickstart</a><ul> | ||||
| <li class="toctree-l2"><a class="reference internal" href="#installing-inkycal">Installing Inkycal</a></li> | ||||
| <li class="toctree-l2"><a class="reference internal" href="#creating-settings-file">Creating settings file</a></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="index.html">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">Quickstart</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|             <a href="_sources/quickstart.md.txt" rel="nofollow"> View page source</a> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|   <section id="quickstart"> | ||||
| <h1>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this heading"></a></h1> | ||||
| <img align="center" src="https://github.com/aceisace/Inkycal/raw/assets/Repo/logo.png" width="800"><section id="installing-inkycal"> | ||||
| <h2>Installing Inkycal<a class="headerlink" href="#installing-inkycal" title="Permalink to this heading"></a></h2> | ||||
| <p>Install inkycal  directly via the GitHub repo:</p> | ||||
| <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># clone the repo</span> | ||||
| git<span class="w"> </span>clone<span class="w"> </span>https://github.com/aceinnolab/Inkycal | ||||
|  | ||||
| <span class="c1"># go to downloaded repo folder</span> | ||||
| <span class="nb">cd</span><span class="w"> </span>Inkycal | ||||
|  | ||||
| <span class="c1"># install Inkycal</span> | ||||
| pip3<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </span>./ | ||||
| </pre></div> | ||||
| </div> | ||||
| </section> | ||||
| <section id="creating-settings-file"> | ||||
| <h2>Creating settings file<a class="headerlink" href="#creating-settings-file" title="Permalink to this heading"></a></h2> | ||||
| <p>Please navigate to the <a class="reference external" href="https://aceisace.eu.pythonanywhere.com/index">WEB-UI</a> to create your settings file.</p> | ||||
| <p>Copy the generated settings file to the Raspberry Pi | ||||
| more coming soon..</p> | ||||
| </section> | ||||
| </section> | ||||
|  | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> | ||||
|         <a href="about.html" class="btn btn-neutral float-left" title="About Inkycal" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> | ||||
|         <a href="dev_doc.html" class="btn btn-neutral float-right" title="Developer documentation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> | ||||
|     </div> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script>  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										127
									
								
								docs/search.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								docs/search.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,127 @@ | ||||
| <!DOCTYPE html> | ||||
| <html class="writer-html5" lang="en" > | ||||
| <head> | ||||
|   <meta charset="utf-8" /> | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|   <title>Search — inkycal 2.0.3 documentation</title> | ||||
|       <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||||
|       <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> | ||||
|      | ||||
|   <!--[if lt IE 9]> | ||||
|     <script src="_static/js/html5shiv.min.js"></script> | ||||
|   <![endif]--> | ||||
|    | ||||
|         <script src="_static/jquery.js"></script> | ||||
|         <script src="_static/_sphinx_javascript_frameworks_compat.js"></script> | ||||
|         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> | ||||
|         <script src="_static/doctools.js"></script> | ||||
|         <script src="_static/sphinx_highlight.js"></script> | ||||
|     <script src="_static/js/theme.js"></script> | ||||
|     <script src="_static/searchtools.js"></script> | ||||
|     <script src="_static/language_data.js"></script> | ||||
|     <link rel="author" title="About these documents" href="about.html" /> | ||||
|     <link rel="index" title="Index" href="genindex.html" /> | ||||
|     <link rel="search" title="Search" href="#" />  | ||||
| </head> | ||||
|  | ||||
| <body class="wy-body-for-nav">  | ||||
|   <div class="wy-grid-for-nav"> | ||||
|     <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||||
|       <div class="wy-side-scroll"> | ||||
|         <div class="wy-side-nav-search" > | ||||
|  | ||||
|            | ||||
|            | ||||
|           <a href="index.html" class="icon icon-home"> | ||||
|             inkycal | ||||
|           </a> | ||||
| <div role="search"> | ||||
|   <form id="rtd-search-form" class="wy-form" action="#" method="get"> | ||||
|     <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> | ||||
|     <input type="hidden" name="check_keywords" value="yes" /> | ||||
|     <input type="hidden" name="area" value="default" /> | ||||
|   </form> | ||||
| </div> | ||||
|         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||||
|               <p class="caption" role="heading"><span class="caption-text">Contents:</span></p> | ||||
| <ul> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html">Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#display">Display</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#custom-functions">Custom functions</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="inkycal.html#helper-classes">Helper classes</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="about.html">About Inkycal</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li> | ||||
| <li class="toctree-l1"><a class="reference internal" href="dev_doc.html">Developer documentation</a></li> | ||||
| </ul> | ||||
|  | ||||
|         </div> | ||||
|       </div> | ||||
|     </nav> | ||||
|  | ||||
|     <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > | ||||
|           <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||||
|           <a href="index.html">inkycal</a> | ||||
|       </nav> | ||||
|  | ||||
|       <div class="wy-nav-content"> | ||||
|         <div class="rst-content"> | ||||
|           <div role="navigation" aria-label="Page navigation"> | ||||
|   <ul class="wy-breadcrumbs"> | ||||
|       <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li> | ||||
|       <li class="breadcrumb-item active">Search</li> | ||||
|       <li class="wy-breadcrumbs-aside"> | ||||
|       </li> | ||||
|   </ul> | ||||
|   <hr/> | ||||
| </div> | ||||
|           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||||
|            <div itemprop="articleBody"> | ||||
|               | ||||
|   <noscript> | ||||
|   <div id="fallback" class="admonition warning"> | ||||
|     <p class="last"> | ||||
|       Please activate JavaScript to enable the search functionality. | ||||
|     </p> | ||||
|   </div> | ||||
|   </noscript> | ||||
|  | ||||
|    | ||||
|   <div id="search-results"> | ||||
|    | ||||
|   </div> | ||||
|  | ||||
|            </div> | ||||
|           </div> | ||||
|           <footer> | ||||
|  | ||||
|   <hr/> | ||||
|  | ||||
|   <div role="contentinfo"> | ||||
|     <p>© Copyright 2018-2023, aceinnolab.</p> | ||||
|   </div> | ||||
|  | ||||
|   Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a | ||||
|     <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> | ||||
|     provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||||
|     | ||||
|  | ||||
| </footer> | ||||
|         </div> | ||||
|       </div> | ||||
|     </section> | ||||
|   </div> | ||||
|   <script> | ||||
|       jQuery(function () { | ||||
|           SphinxRtdTheme.Navigation.enable(true); | ||||
|       }); | ||||
|   </script> | ||||
|   <script> | ||||
|     jQuery(function() { Search.loadIndex("searchindex.js"); }); | ||||
|   </script> | ||||
|    | ||||
|   <script id="searchindexloader"></script> | ||||
|     | ||||
|  | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										1
									
								
								docs/searchindex.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								docs/searchindex.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user