-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
deploy: e9b941c
0 parents
commit ff36fe6
Showing
25 changed files
with
3,349 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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: 6626dc385f8e69d78f129194c4c4ae60 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
.. NanoNav documentation master file, created by | ||
sphinx-quickstart on Mon Apr 15 12:52:38 2024. | ||
You can adapt this file completely to your liking, but it should at least | ||
contain the root `toctree` directive. | ||
Welcome to NanoNav's documentation! | ||
=================================== | ||
|
||
Check out the :doc:`usage` section for further information. | ||
|
||
Contents | ||
-------- | ||
|
||
.. toctree:: | ||
|
||
usage | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Usage | ||
===== | ||
|
||
Installation | ||
------------ | ||
|
||
To use NanoNav, include the following Python file in your project directory, calling it nanonav.py | ||
|
||
.. code-block:: python | ||
# nanonav.py | ||
# TODO: Add the code here |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/* This file intentionally left blank. */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
/* | ||
* doctools.js | ||
* ~~~~~~~~~~~ | ||
* | ||
* Base JavaScript utilities for all Sphinx HTML documentation. | ||
* | ||
* :copyright: Copyright 2007-2024 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); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
const DOCUMENTATION_OPTIONS = { | ||
VERSION: '', | ||
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, | ||
}; |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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-2024 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, if 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; | ||
} | ||
} | ||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
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: #8f5902; font-style: italic } /* Comment */ | ||
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ | ||
.highlight .g { color: #000000 } /* Generic */ | ||
.highlight .k { color: #004461; font-weight: bold } /* Keyword */ | ||
.highlight .l { color: #000000 } /* Literal */ | ||
.highlight .n { color: #000000 } /* Name */ | ||
.highlight .o { color: #582800 } /* Operator */ | ||
.highlight .x { color: #000000 } /* Other */ | ||
.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ | ||
.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ | ||
.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ | ||
.highlight .cp { color: #8f5902 } /* Comment.Preproc */ | ||
.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ | ||
.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ | ||
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ | ||
.highlight .gd { color: #a40000 } /* Generic.Deleted */ | ||
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ | ||
.highlight .ges { color: #000000 } /* Generic.EmphStrong */ | ||
.highlight .gr { color: #ef2929 } /* Generic.Error */ | ||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ | ||
.highlight .gi { color: #00A000 } /* Generic.Inserted */ | ||
.highlight .go { color: #888888 } /* Generic.Output */ | ||
.highlight .gp { color: #745334 } /* Generic.Prompt */ | ||
.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ | ||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ | ||
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ | ||
.highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */ | ||
.highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */ | ||
.highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */ | ||
.highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */ | ||
.highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */ | ||
.highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */ | ||
.highlight .ld { color: #000000 } /* Literal.Date */ | ||
.highlight .m { color: #990000 } /* Literal.Number */ | ||
.highlight .s { color: #4e9a06 } /* Literal.String */ | ||
.highlight .na { color: #c4a000 } /* Name.Attribute */ | ||
.highlight .nb { color: #004461 } /* Name.Builtin */ | ||
.highlight .nc { color: #000000 } /* Name.Class */ | ||
.highlight .no { color: #000000 } /* Name.Constant */ | ||
.highlight .nd { color: #888888 } /* Name.Decorator */ | ||
.highlight .ni { color: #ce5c00 } /* Name.Entity */ | ||
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ | ||
.highlight .nf { color: #000000 } /* Name.Function */ | ||
.highlight .nl { color: #f57900 } /* Name.Label */ | ||
.highlight .nn { color: #000000 } /* Name.Namespace */ | ||
.highlight .nx { color: #000000 } /* Name.Other */ | ||
.highlight .py { color: #000000 } /* Name.Property */ | ||
.highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */ | ||
.highlight .nv { color: #000000 } /* Name.Variable */ | ||
.highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */ | ||
.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ | ||
.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ | ||
.highlight .mb { color: #990000 } /* Literal.Number.Bin */ | ||
.highlight .mf { color: #990000 } /* Literal.Number.Float */ | ||
.highlight .mh { color: #990000 } /* Literal.Number.Hex */ | ||
.highlight .mi { color: #990000 } /* Literal.Number.Integer */ | ||
.highlight .mo { color: #990000 } /* Literal.Number.Oct */ | ||
.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ | ||
.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ | ||
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ | ||
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ | ||
.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ | ||
.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ | ||
.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ | ||
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ | ||
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ | ||
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ | ||
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ | ||
.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ | ||
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ | ||
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ | ||
.highlight .fm { color: #000000 } /* Name.Function.Magic */ | ||
.highlight .vc { color: #000000 } /* Name.Variable.Class */ | ||
.highlight .vg { color: #000000 } /* Name.Variable.Global */ | ||
.highlight .vi { color: #000000 } /* Name.Variable.Instance */ | ||
.highlight .vm { color: #000000 } /* Name.Variable.Magic */ | ||
.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */ |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
/* 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))); | ||
const rest = document.createTextNode(val.substr(pos + text.length)); | ||
parent.insertBefore( | ||
span, | ||
parent.insertBefore( | ||
rest, | ||
node.nextSibling | ||
) | ||
); | ||
node.nodeValue = val.substr(0, pos); | ||
/* There may be more occurrences of search term in this node. So call this | ||
* function recursively on the remaining fragment. | ||
*/ | ||
_highlight(rest, addItems, text, className); | ||
|
||
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(() => { | ||
/* Do not call highlightSearchWords() when we are on the search page. | ||
* It will highlight words from the *previous* search query. | ||
*/ | ||
if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); | ||
SphinxHighlight.initEscapeListener(); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
<!DOCTYPE html> | ||
|
||
<html lang="en" data-content_root="./"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<title>Index — NanoNav documentation</title> | ||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" /> | ||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" /> | ||
<script src="_static/documentation_options.js?v=5929fcd5"></script> | ||
<script src="_static/doctools.js?v=9a2dae69"></script> | ||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||
<link rel="index" title="Index" href="#" /> | ||
<link rel="search" title="Search" href="search.html" /> | ||
|
||
<link rel="stylesheet" href="_static/custom.css" type="text/css" /> | ||
|
||
|
||
|
||
|
||
|
||
</head><body> | ||
|
||
|
||
<div class="document"> | ||
<div class="documentwrapper"> | ||
<div class="bodywrapper"> | ||
|
||
|
||
<div class="body" role="main"> | ||
|
||
|
||
<h1 id="index">Index</h1> | ||
|
||
<div class="genindex-jumpbox"> | ||
|
||
</div> | ||
|
||
|
||
</div> | ||
|
||
</div> | ||
</div> | ||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | ||
<div class="sphinxsidebarwrapper"> | ||
<h1 class="logo"><a href="index.html">NanoNav</a></h1> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3>Navigation</h3> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</a></li> | ||
</ul> | ||
|
||
<div class="relations"> | ||
<h3>Related Topics</h3> | ||
<ul> | ||
<li><a href="index.html">Documentation overview</a><ul> | ||
</ul></li> | ||
</ul> | ||
</div> | ||
<search id="searchbox" style="display: none" role="search"> | ||
<h3 id="searchlabel">Quick search</h3> | ||
<div class="searchformwrapper"> | ||
<form class="search" action="search.html" method="get"> | ||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> | ||
<input type="submit" value="Go" /> | ||
</form> | ||
</div> | ||
</search> | ||
<script>document.getElementById('searchbox').style.display = "block"</script> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div> | ||
</div> | ||
<div class="clearer"></div> | ||
</div> | ||
<div class="footer"> | ||
©2024, Erik Umble, Joel McCandless, & Chris Kurbiel. | ||
|
||
| | ||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.3.7</a> | ||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a> | ||
|
||
</div> | ||
|
||
|
||
|
||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
<!DOCTYPE html> | ||
|
||
<html lang="en" data-content_root="./"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> | ||
|
||
<title>Welcome to NanoNav’s documentation! — NanoNav documentation</title> | ||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" /> | ||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" /> | ||
<script src="_static/documentation_options.js?v=5929fcd5"></script> | ||
<script src="_static/doctools.js?v=9a2dae69"></script> | ||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||
<link rel="index" title="Index" href="genindex.html" /> | ||
<link rel="search" title="Search" href="search.html" /> | ||
<link rel="next" title="Usage" href="usage.html" /> | ||
|
||
<link rel="stylesheet" href="_static/custom.css" type="text/css" /> | ||
|
||
|
||
|
||
|
||
|
||
</head><body> | ||
|
||
|
||
<div class="document"> | ||
<div class="documentwrapper"> | ||
<div class="bodywrapper"> | ||
|
||
|
||
<div class="body" role="main"> | ||
|
||
<section id="welcome-to-nanonav-s-documentation"> | ||
<h1>Welcome to NanoNav’s documentation!<a class="headerlink" href="#welcome-to-nanonav-s-documentation" title="Link to this heading">¶</a></h1> | ||
<p>Check out the <a class="reference internal" href="usage.html"><span class="doc">Usage</span></a> section for further information.</p> | ||
<section id="contents"> | ||
<h2>Contents<a class="headerlink" href="#contents" title="Link to this heading">¶</a></h2> | ||
<div class="toctree-wrapper compound"> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</a><ul> | ||
<li class="toctree-l2"><a class="reference internal" href="usage.html#installation">Installation</a></li> | ||
</ul> | ||
</li> | ||
</ul> | ||
</div> | ||
</section> | ||
</section> | ||
|
||
|
||
</div> | ||
|
||
</div> | ||
</div> | ||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | ||
<div class="sphinxsidebarwrapper"> | ||
<h1 class="logo"><a href="#">NanoNav</a></h1> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3>Navigation</h3> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</a></li> | ||
</ul> | ||
|
||
<div class="relations"> | ||
<h3>Related Topics</h3> | ||
<ul> | ||
<li><a href="#">Documentation overview</a><ul> | ||
<li>Next: <a href="usage.html" title="next chapter">Usage</a></li> | ||
</ul></li> | ||
</ul> | ||
</div> | ||
<search id="searchbox" style="display: none" role="search"> | ||
<h3 id="searchlabel">Quick search</h3> | ||
<div class="searchformwrapper"> | ||
<form class="search" action="search.html" method="get"> | ||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> | ||
<input type="submit" value="Go" /> | ||
</form> | ||
</div> | ||
</search> | ||
<script>document.getElementById('searchbox').style.display = "block"</script> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div> | ||
</div> | ||
<div class="clearer"></div> | ||
</div> | ||
<div class="footer"> | ||
©2024, Erik Umble, Joel McCandless, & Chris Kurbiel. | ||
|
||
| | ||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.3.7</a> | ||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a> | ||
|
||
| | ||
<a href="_sources/index.rst.txt" | ||
rel="nofollow">Page source</a> | ||
</div> | ||
|
||
|
||
|
||
|
||
</body> | ||
</html> |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
<!DOCTYPE html> | ||
|
||
<html lang="en" data-content_root="./"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<title>Search — NanoNav documentation</title> | ||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" /> | ||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" /> | ||
|
||
<script src="_static/documentation_options.js?v=5929fcd5"></script> | ||
<script src="_static/doctools.js?v=9a2dae69"></script> | ||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||
<script src="_static/searchtools.js"></script> | ||
<script src="_static/language_data.js"></script> | ||
<link rel="index" title="Index" href="genindex.html" /> | ||
<link rel="search" title="Search" href="#" /> | ||
<script src="searchindex.js" defer="defer"></script> | ||
<meta name="robots" content="noindex" /> | ||
|
||
|
||
<link rel="stylesheet" href="_static/custom.css" type="text/css" /> | ||
|
||
|
||
|
||
|
||
|
||
|
||
</head><body> | ||
|
||
|
||
<div class="document"> | ||
<div class="documentwrapper"> | ||
<div class="bodywrapper"> | ||
|
||
|
||
<div class="body" role="main"> | ||
|
||
<h1 id="search-documentation">Search</h1> | ||
|
||
<noscript> | ||
<div class="admonition warning"> | ||
<p> | ||
Please activate JavaScript to enable the search | ||
functionality. | ||
</p> | ||
</div> | ||
</noscript> | ||
|
||
|
||
<p> | ||
Searching for multiple words only shows matches that contain | ||
all words. | ||
</p> | ||
|
||
|
||
<form action="" method="get"> | ||
<input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> | ||
<input type="submit" value="search" /> | ||
<span id="search-progress" style="padding-left: 10px"></span> | ||
</form> | ||
|
||
|
||
<div id="search-results"></div> | ||
|
||
|
||
</div> | ||
|
||
</div> | ||
</div> | ||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | ||
<div class="sphinxsidebarwrapper"> | ||
<h1 class="logo"><a href="index.html">NanoNav</a></h1> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3>Navigation</h3> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</a></li> | ||
</ul> | ||
|
||
<div class="relations"> | ||
<h3>Related Topics</h3> | ||
<ul> | ||
<li><a href="index.html">Documentation overview</a><ul> | ||
</ul></li> | ||
</ul> | ||
</div> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div> | ||
</div> | ||
<div class="clearer"></div> | ||
</div> | ||
<div class="footer"> | ||
©2024, Erik Umble, Joel McCandless, & Chris Kurbiel. | ||
|
||
| | ||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.3.7</a> | ||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a> | ||
|
||
</div> | ||
|
||
|
||
|
||
|
||
</body> | ||
</html> |
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
<!DOCTYPE html> | ||
|
||
<html lang="en" data-content_root="./"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> | ||
|
||
<title>Usage — NanoNav documentation</title> | ||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" /> | ||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" /> | ||
<script src="_static/documentation_options.js?v=5929fcd5"></script> | ||
<script src="_static/doctools.js?v=9a2dae69"></script> | ||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script> | ||
<link rel="index" title="Index" href="genindex.html" /> | ||
<link rel="search" title="Search" href="search.html" /> | ||
<link rel="prev" title="Welcome to NanoNav’s documentation!" href="index.html" /> | ||
|
||
<link rel="stylesheet" href="_static/custom.css" type="text/css" /> | ||
|
||
|
||
|
||
|
||
|
||
</head><body> | ||
|
||
|
||
<div class="document"> | ||
<div class="documentwrapper"> | ||
<div class="bodywrapper"> | ||
|
||
|
||
<div class="body" role="main"> | ||
|
||
<section id="usage"> | ||
<h1>Usage<a class="headerlink" href="#usage" title="Link to this heading">¶</a></h1> | ||
<section id="installation"> | ||
<h2>Installation<a class="headerlink" href="#installation" title="Link to this heading">¶</a></h2> | ||
<p>To use NanoNav, include the following Python file in your project directory, calling it nanonav.py</p> | ||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># nanonav.py</span> | ||
|
||
<span class="c1"># TODO: Add the code here</span> | ||
</pre></div> | ||
</div> | ||
</section> | ||
</section> | ||
|
||
|
||
</div> | ||
|
||
</div> | ||
</div> | ||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | ||
<div class="sphinxsidebarwrapper"> | ||
<h1 class="logo"><a href="index.html">NanoNav</a></h1> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3>Navigation</h3> | ||
<ul class="current"> | ||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Usage</a><ul> | ||
<li class="toctree-l2"><a class="reference internal" href="#installation">Installation</a></li> | ||
</ul> | ||
</li> | ||
</ul> | ||
|
||
<div class="relations"> | ||
<h3>Related Topics</h3> | ||
<ul> | ||
<li><a href="index.html">Documentation overview</a><ul> | ||
<li>Previous: <a href="index.html" title="previous chapter">Welcome to NanoNav’s documentation!</a></li> | ||
</ul></li> | ||
</ul> | ||
</div> | ||
<search id="searchbox" style="display: none" role="search"> | ||
<h3 id="searchlabel">Quick search</h3> | ||
<div class="searchformwrapper"> | ||
<form class="search" action="search.html" method="get"> | ||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> | ||
<input type="submit" value="Go" /> | ||
</form> | ||
</div> | ||
</search> | ||
<script>document.getElementById('searchbox').style.display = "block"</script> | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div> | ||
</div> | ||
<div class="clearer"></div> | ||
</div> | ||
<div class="footer"> | ||
©2024, Erik Umble, Joel McCandless, & Chris Kurbiel. | ||
|
||
| | ||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.3.7</a> | ||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a> | ||
|
||
| | ||
<a href="_sources/usage.rst.txt" | ||
rel="nofollow">Page source</a> | ||
</div> | ||
|
||
|
||
|
||
|
||
</body> | ||
</html> |