diff --git a/docs/_static/basic.css b/docs/_static/basic.css
index 30fee9d..f316efc 100644
--- a/docs/_static/basic.css
+++ b/docs/_static/basic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js
index d06a71d..4d67807 100644
--- a/docs/_static/doctools.js
+++ b/docs/_static/doctools.js
@@ -4,7 +4,7 @@
*
* Base JavaScript utilities for all Sphinx HTML documentation.
*
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js
index 250f566..367b8ed 100644
--- a/docs/_static/language_data.js
+++ b/docs/_static/language_data.js
@@ -5,7 +5,7 @@
* 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.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -13,7 +13,7 @@
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 */
+/* Non-minified version is copied as a separate JS file, if available */
/**
* Porter Stemmer
diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js
index 7918c3f..92da3f8 100644
--- a/docs/_static/searchtools.js
+++ b/docs/_static/searchtools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for the full-text search.
*
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -99,7 +99,7 @@ const _displayItem = (item, searchTerms, highlightTerms) => {
.then((data) => {
if (data)
listItem.appendChild(
- Search.makeSearchSummary(data, searchTerms)
+ Search.makeSearchSummary(data, searchTerms, anchor)
);
// highlight search terms in the summary
if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
@@ -116,8 +116,8 @@ const _finishSearch = (resultCount) => {
);
else
Search.status.innerText = _(
- `Search finished, found ${resultCount} page(s) matching the search query.`
- );
+ "Search finished, found ${resultCount} page(s) matching the search query."
+ ).replace('${resultCount}', resultCount);
};
const _displayNextItem = (
results,
@@ -137,6 +137,22 @@ const _displayNextItem = (
// search finished, update title and status message
else _finishSearch(resultCount);
};
+// Helper function used by query() to order search results.
+// Each input is an array of [docname, title, anchor, descr, score, filename].
+// Order the results by score (in opposite order of appearance, since the
+// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
+const _orderResultsByScoreThenName = (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;
+};
/**
* Default splitQuery function. Can be overridden in ``sphinx.search`` with a
@@ -160,13 +176,26 @@ const Search = {
_queued_query: null,
_pulse_status: -1,
- htmlToText: (htmlString) => {
+ htmlToText: (htmlString, anchor) => {
const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
- htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() });
+ for (const removalQuery of [".headerlinks", "script", "style"]) {
+ htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
+ }
+ if (anchor) {
+ const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
+ if (anchorContent) return anchorContent.textContent;
+
+ console.warn(
+ `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
+ );
+ }
+
+ // if anchor not specified or not found, fall back to main content
const docContent = htmlElement.querySelector('[role="main"]');
- if (docContent !== undefined) return docContent.textContent;
+ if (docContent) 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."
+ "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
);
return "";
},
@@ -239,16 +268,7 @@ const Search = {
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;
-
+ _parseQuery: (query) => {
// stem the search terms and add them to the correct list
const stemmer = new Stemmer();
const searchTerms = new Set();
@@ -284,16 +304,32 @@ const Search = {
// console.info("required: ", [...searchTerms]);
// console.info("excluded: ", [...excludedTerms]);
- // array of [docname, title, anchor, descr, score, filename]
- let results = [];
+ return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
+ },
+
+ /**
+ * execute search (requires search index to be loaded)
+ */
+ _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
+ 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;
+
+ // Collect multiple result groups to be sorted separately and then ordered.
+ // Each is an array of [docname, title, anchor, descr, score, filename].
+ const normalResults = [];
+ const nonMainIndexResults = [];
+
_removeChildren(document.getElementById("search-progress"));
- const queryLower = query.toLowerCase();
+ const queryLower = query.toLowerCase().trim();
for (const [title, foundTitles] of Object.entries(allTitles)) {
- if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) {
+ if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
for (const [file, id] of foundTitles) {
let score = Math.round(100 * queryLower.length / title.length)
- results.push([
+ normalResults.push([
docNames[file],
titles[file] !== title ? `${titles[file]} > ${title}` : title,
id !== null ? "#" + id : "",
@@ -308,46 +344,47 @@ const Search = {
// 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([
+ for (const [file, id, isMain] of foundEntries) {
+ const score = Math.round(100 * queryLower.length / entry.length);
+ const result = [
docNames[file],
titles[file],
id ? "#" + id : "",
null,
score,
filenames[file],
- ]);
+ ];
+ if (isMain) {
+ normalResults.push(result);
+ } else {
+ nonMainIndexResults.push(result);
+ }
}
}
}
// lookup as object
objectTerms.forEach((term) =>
- results.push(...Search.performObjectSearch(term, objectTerms))
+ normalResults.push(...Search.performObjectSearch(term, objectTerms))
);
// lookup as search terms in fulltext
- results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+ normalResults.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)));
+ if (Scorer.score) {
+ normalResults.forEach((item) => (item[4] = Scorer.score(item)));
+ nonMainIndexResults.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;
- });
+ // Sort each group of results by score and then alphabetically by name.
+ normalResults.sort(_orderResultsByScoreThenName);
+ nonMainIndexResults.sort(_orderResultsByScoreThenName);
+
+ // Combine the result groups in (reverse) order.
+ // Non-main index entries are typically arbitrary cross-references,
+ // so display them after other results.
+ let results = [...nonMainIndexResults, ...normalResults];
// remove duplicate search results
// note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
@@ -361,7 +398,12 @@ const Search = {
return acc;
}, []);
- results = results.reverse();
+ return results.reverse();
+ },
+
+ query: (query) => {
+ const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
+ const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
// for debugging
//Search.lastresults = results.slice(); // a copy
@@ -466,14 +508,18 @@ const Search = {
// 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 });
- });
+ if (!terms.hasOwnProperty(word)) {
+ Object.keys(terms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: terms[term], score: Scorer.partialTerm });
+ });
+ }
+ if (!titleTerms.hasOwnProperty(word)) {
+ Object.keys(titleTerms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
+ });
+ }
}
// no match but word was a required one
@@ -496,9 +542,8 @@ const Search = {
// 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]);
+ if (!fileMap.has(file)) fileMap.set(file, [word]);
+ else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
});
});
@@ -549,8 +594,8 @@ const Search = {
* search summary for a given text. keywords is a list
* of stemmed words.
*/
- makeSearchSummary: (htmlText, keywords) => {
- const text = Search.htmlToText(htmlText);
+ makeSearchSummary: (htmlText, keywords, anchor) => {
+ const text = Search.htmlToText(htmlText, anchor);
if (text === "") return null;
const textLower = text.toLowerCase();
diff --git a/docs/about.html b/docs/about.html
index 1fcec64..2fa7e79 100644
--- a/docs/about.html
+++ b/docs/about.html
@@ -16,7 +16,7 @@
-
+
diff --git a/docs/dev_doc.html b/docs/dev_doc.html
index fa45a5a..269304c 100644
--- a/docs/dev_doc.html
+++ b/docs/dev_doc.html
@@ -16,7 +16,7 @@
-
+
diff --git a/docs/genindex.html b/docs/genindex.html
index ebfc779..4bca78f 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -15,7 +15,7 @@
-
+
diff --git a/docs/index.html b/docs/index.html
index 01fee37..7ec0933 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -16,7 +16,7 @@
-
+
diff --git a/docs/inkycal.html b/docs/inkycal.html
index 021b024..2166d2b 100644
--- a/docs/inkycal.html
+++ b/docs/inkycal.html
@@ -16,7 +16,7 @@
-
+
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
index 4c8bc79..063dd06 100644
--- a/docs/py-modindex.html
+++ b/docs/py-modindex.html
@@ -15,7 +15,7 @@
-
+
diff --git a/docs/quickstart.html b/docs/quickstart.html
index 806b1ee..d09f5ba 100644
--- a/docs/quickstart.html
+++ b/docs/quickstart.html
@@ -16,7 +16,7 @@
-
+
diff --git a/docs/search.html b/docs/search.html
index adf6312..495e5fb 100644
--- a/docs/search.html
+++ b/docs/search.html
@@ -16,7 +16,7 @@
-
+
diff --git a/docs/searchindex.js b/docs/searchindex.js
index e9cb2f7..669170d 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["about", "dev_doc", "index", "inkycal", "quickstart"], "filenames": ["about.md", "dev_doc.md", "index.rst", "inkycal.rst", "quickstart.md"], "titles": ["About Inkycal", "Developer documentation", "Inkycal documentation", "Inkycal", "Quickstart"], "terms": {"i": [0, 1, 3], "python3": [0, 3], "softwar": 0, "select": [0, 3], "e": [0, 3, 4], "paper": [0, 3], "displai": [0, 2], "It": 0, "": [0, 3], "open": 0, "sourc": 0, "non": [0, 3], "commerci": 0, "fulli": 0, "modular": 0, "user": 0, "friendli": 0, "even": 0, "run": [0, 3], "well": 0, "raspberri": [0, 4], "pi": [0, 3, 4], "zero": 0, "ha": [0, 3], "web": [0, 4], "ui": [0, 4], "which": [0, 3], "take": [0, 3], "care": [0, 3], "ad": 0, "your": [0, 3, 4], "detail": 0, "No": 0, "more": [0, 3, 4], "edit": 0, "file": [0, 2, 3], "yai": 0, "parti": [0, 1], "_": 0, "face": 0, "The": [0, 3], "main": [0, 3], "idea": 0, "behind": 0, "wa": [0, 3], "creat": [0, 1, 2, 3], "dashboard": 0, "blend": 0, "its": 0, "environ": 0, "show": [0, 3], "you": 0, "all": [0, 3], "inform": 0, "without": [0, 3], "have": [0, 3], "look": [0, 3], "them": [0, 3], "up": 0, "sever": 0, "built": 0, "modul": [0, 1, 2, 3], "help": 0, "stai": 0, "organis": 0, "provid": 0, "weather": 0, "forecast": 0, "full": [0, 3], "week": 0, "next": [0, 3], "few": 0, "hour": 0, "get": [0, 3], "latest": [0, 3], "new": [0, 3], "from": [0, 3], "atom": 0, "rss": 0, "feed": 0, "icalendar": [0, 2, 3], "agenda": 0, "mai": 0, "synchronis": 0, "phone": 0, "monthli": 0, "calendar": 0, "also": 0, "event": [0, 3], "sync": 0, "googl": [0, 3], "etc": 0, "fetch": 0, "some": 0, "joke": 0, "form": 0, "smile": 0, "what": 0, "compat": 0, "third": [0, 1], "someth": [0, 3], "miss": 0, "can": [0, 3], "write": [0, 2, 3], "own": 0, "share": 0, "commun": 0, "discord": 0, "case": 0, "re": 0, "pinch": 0, "set": [0, 2, 3], "noob": 0, "welcom": 0, "too": 0, "cours": 0, "develop": [0, 2], "mainli": [0, 1], "aceisac": 0, "univers": 0, "student": 0, "other": [0, 3], "free": 0, "time": [0, 3], "mean": 0, "we": 0, "work": [0, 3], "noth": 0, "doesn": [0, 3], "t": [0, 3], "don": 0, "need": 0, "anyth": 0, "invest": 0, "larg": 0, "amount": 0, "effort": 0, "coffe": 0, "pleas": [0, 4], "support": [0, 3], "via": [0, 4], "donat": 0, "u": 0, "keep": 0, "thi": [0, 1, 3], "project": [0, 3], "aliv": 0, "thank": 0, "who": 1, "wish": 1, "custom": 2, "function": 2, "auto_fonts": [2, 3], "draw_bord": [2, 3], "get_font": [2, 3], "get_system_tz": [2, 3], "internet_avail": [2, 3], "text_wrap": [2, 3], "helper": 2, "class": 2, "inkyimag": [2, 3], "image_to_palett": [2, 3], "about": 2, "quickstart": 2, "instal": 2, "index": 2, "search": [2, 3], "page": 2, "copyright": 3, "aceinnolab": [3, 4], "settings_path": 3, "str": 3, "none": 3, "render": 3, "bool": 3, "true": 3, "test": 3, "program": 3, "arg": 3, "path": 3, "json": 3, "given": 3, "tri": 3, "boot": 3, "folder": [3, 4], "fals": 3, "imag": 3, "epap": 3, "attribut": 3, "optim": 3, "reduc": 3, "number": 3, "colour": 3, "gener": [3, 4], "improv": 3, "9": 3, "7": 3, "calibr": 3, "cycl": 3, "3": 3, "us": 3, "default": 3, "after": 3, "refresh": 3, "shown": 3, "countdown": 3, "interval_min": 3, "int": 3, "return": 3, "remain": 3, "second": 3, "until": 3, "updat": 3, "interv": 3, "minut": 3, "valu": 3, "async": 3, "nonstop": 3, "mode": 3, "an": 3, "infin": 3, "loop": 3, "assembl": 3, "one": 3, "sleep": 3, "schedul": 3, "issu": 3, "attempt": 3, "import": 3, "name": 3, "load": 3, "config": 3, "each": 3, "initi": 3, "check": 3, "could": 3, "correctli": 3, "found": 3, "instanc": 3, "driver": 3, "model": 3, "allow": 3, "epaper_model": 3, "eas": 3, "font": 3, "max_height": 3, "scale": 3, "80": 3, "height": 3, "fill": 3, "A": 3, "pil": 3, "object": 3, "integ": 3, "repres": 3, "adjust": 3, "should": 3, "modifi": 3, "xy": 3, "size": 3, "radiu": 3, "5": 3, "thick": 3, "1": 3, "shrinkag": 3, "0": 3, "draw": 3, "border": 3, "coordin": 3, "drawn": 3, "usual": 3, "im_black": 3, "im_colour": 3, "tupl": 3, "top": 3, "left": 3, "corner": 3, "g": 3, "32": 3, "100": 3, "where": 3, "x": 3, "co": 3, "ordin": 3, "y": 3, "width": 3, "plain": 3, "rectangl": 3, "round": 3, "pixel": 3, "contain": 3, "decim": 3, "present": 3, "percentag": 3, "shrink": 3, "width_shrink_percentag": 3, "height_shrink_percentag": 3, "2": 3, "10": 3, "20": 3, "print": 3, "avail": 3, "output": 3, "To": 3, "access": 3, "fontfil": 3, "dictionari": 3, "fontnam": 3, "follow": 3, "sytax": 3, "imagefont": 3, "truetyp": 3, "system": 3, "timezon": 3, "utc": 3, "extract": 3, "local": 3, "instead": 3, "arrow": 3, "now": 3, "awar": 3, "tz": 3, "internet": 3, "connect": 3, "com": [3, 4], "timeout": 3, "network": 3, "reach": 3, "establish": 3, "add": 3, "do": 3, "requir": 3, "text": 3, "max_width": 3, "split": 3, "veri": 3, "long": 3, "smaller": 3, "part": 3, "line": 3, "fit": 3, "accur": 3, "calcul": 3, "string": 3, "defin": 3, "maximum": 3, "befor": 3, "chunk": 3, "list": 3, "box_siz": 3, "kwarg": 3, "posit": 3, "specifi": 3, "box": 3, "actual": 3, "option": 3, "align": 3, "center": 3, "right": 3, "autofit": 3, "automat": 3, "increas": 3, "fontsiz": 3, "much": 3, "possibl": 3, "black": 3, "chang": 3, "caus": 3, "rotat": 3, "angl": 3, "anti": 3, "clockwis": 3, "fill_width": 3, "90": 3, "fill_height": 3, "pars": 3, "ical_pars": 3, "moudul": 3, "url": 3, "static": 3, "all_dai": 3, "dai": 3, "els": 3, "clear_ev": 3, "clear": 3, "previous": 3, "get_ev": 3, "timeline_start": 3, "timeline_end": 3, "input": 3, "begin": 3, "timelin": 3, "end": 3, "format": 3, "sort": 3, "date": 3, "load_from_fil": 3, "filepath": 3, "valid": 3, "exampl": 3, "path1": 3, "singl": 3, "OR": 3, "path2": 3, "multipl": 3, "raw": 3, "load_url": 3, "usernam": 3, "password": 3, "url1": 3, "url2": 3, "protect": 3, "show_ev": 3, "fmt": 3, "dd": 3, "mmm": 3, "yy": 3, "hh": 3, "mm": 3, "readabl": 3, "wai": 3, "paramet": 3, "see": 3, "http": [3, 4], "readthedoc": 3, "io": 3, "en": 3, "token": 3, "info": 3, "order": 3, "handl": 3, "made": 3, "inky_imag": 3, "imga": 3, "written": 3, "commonli": 3, "oper": 3, "autoflip": 3, "layout": 3, "flip": 3, "choos": 3, "horizont": 3, "vertic": 3, "In": 3, "greater": 3, "than": 3, "remov": 3, "current": 3, "save": 3, "180": 3, "270": 3, "360": 3, "sampl": 3, "logo": 3, "png": 3, "home": 3, "download": [3, 4], "nice_p": 3, "rais": 3, "filenotfounderror": 3, "except": 3, "when": 3, "oserror": 3, "point": 3, "correct": 3, "typeerror": 3, "start": 3, "htpp": 3, "merg": 3, "image1": 3, "image2": 3, "two": 3, "replac": 3, "white": 3, "first": 3, "transpar": 3, "ones": 3, "Then": 3, "past": 3, "rgba": 3, "preview": 3, "gpicview": 3, "onli": 3, "rapsbian": 3, "desktop": 3, "remove_alpha": 3, "alpha": 3, "band": 3, "resiz": 3, "desir": 3, "runner": 3, "venv": 3, "lib": 3, "11": 3, "site": 3, "packag": 3, "py": 3, "palett": 3, "type": 3, "liter": 3, "bwr": 3, "bwy": 3, "bw": 3, "16grai": 3, "dither": 3, "map": 3, "below": 3, "solid": 3, "valueerror": 3, "red": 3, "yellow": 3, "16": 3, "shade": 3, "grai": 3, "directli": 4, "github": 4, "repo": 4, "clone": 4, "git": 4, "go": 4, "cd": 4, "pip3": 4, "navig": 4, "copi": 4, "come": 4, "soon": 4}, "objects": {"inkycal.custom": [[3, 0, 0, "-", "functions"]], "inkycal.custom.functions": [[3, 1, 1, "", "auto_fontsize"], [3, 1, 1, "", "draw_border"], [3, 1, 1, "", "get_fonts"], [3, 1, 1, "", "get_system_tz"], [3, 1, 1, "", "internet_available"], [3, 1, 1, "", "text_wrap"], [3, 1, 1, "", "write"]], "inkycal.display": [[3, 0, 0, "-", "Display"]], "inkycal": [[3, 0, 0, "-", "main"]], "inkycal.main": [[3, 2, 1, "", "Inkycal"]], "inkycal.main.Inkycal": [[3, 3, 1, "", "calibrate"], [3, 3, 1, "", "countdown"], [3, 3, 1, "", "run"], [3, 3, 1, "", "test"]], "inkycal.modules": [[3, 0, 0, "-", "ical_parser"], [3, 0, 0, "-", "inky_image"]], "inkycal.modules.ical_parser": [[3, 2, 1, "", "iCalendar"]], "inkycal.modules.ical_parser.iCalendar": [[3, 3, 1, "", "all_day"], [3, 3, 1, "", "clear_events"], [3, 3, 1, "", "get_events"], [3, 3, 1, "", "get_system_tz"], [3, 3, 1, "", "load_from_file"], [3, 3, 1, "", "load_url"], [3, 3, 1, "", "show_events"], [3, 3, 1, "", "sort"]], "inkycal.modules.inky_image": [[3, 2, 1, "", "Inkyimage"], [3, 1, 1, "", "image_to_palette"]], "inkycal.modules.inky_image.Inkyimage": [[3, 3, 1, "", "autoflip"], [3, 3, 1, "", "clear"], [3, 3, 1, "", "flip"], [3, 3, 1, "", "load"], [3, 3, 1, "", "merge"], [3, 3, 1, "", "preview"], [3, 3, 1, "", "remove_alpha"], [3, 3, 1, "", "resize"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"about": 0, "inkyc": [0, 2, 3, 4], "develop": 1, "document": [1, 2], "content": 2, "indic": 2, "tabl": 2, "displai": 3, "custom": 3, "function": 3, "helper": 3, "class": 3, "quickstart": 4, "instal": 4, "creat": 4, "set": 4, "file": 4}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"About Inkycal": [[0, "about-inkycal"]], "Developer documentation": [[1, "developer-documentation"]], "Inkycal documentation": [[2, "inkycal-documentation"]], "Contents:": [[2, null]], "Indices and tables": [[2, "indices-and-tables"]], "Inkycal": [[3, "module-inkycal.main"]], "Display": [[3, "module-inkycal.display.Display"]], "Custom functions": [[3, "module-inkycal.custom.functions"]], "Helper classes": [[3, "module-inkycal.modules.ical_parser"]], "Quickstart": [[4, "quickstart"]], "Installing Inkycal": [[4, "installing-inkycal"]], "Creating settings file": [[4, "creating-settings-file"]]}, "indexentries": {"inkycal (class in inkycal.main)": [[3, "inkycal.main.Inkycal"]], "inkyimage (class in inkycal.modules.inky_image)": [[3, "inkycal.modules.inky_image.Inkyimage"]], "all_day() (inkycal.modules.ical_parser.icalendar static method)": [[3, "inkycal.modules.ical_parser.iCalendar.all_day"]], "auto_fontsize() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.auto_fontsize"]], "autoflip() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.autoflip"]], "calibrate() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.calibrate"]], "clear() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.clear"]], "clear_events() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.clear_events"]], "countdown() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.countdown"]], "draw_border() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.draw_border"]], "flip() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.flip"]], "get_events() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.get_events"]], "get_fonts() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.get_fonts"]], "get_system_tz() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.get_system_tz"]], "get_system_tz() (inkycal.modules.ical_parser.icalendar static method)": [[3, "inkycal.modules.ical_parser.iCalendar.get_system_tz"]], "icalendar (class in inkycal.modules.ical_parser)": [[3, "inkycal.modules.ical_parser.iCalendar"]], "image_to_palette() (in module inkycal.modules.inky_image)": [[3, "inkycal.modules.inky_image.image_to_palette"]], "inkycal.custom.functions": [[3, "module-inkycal.custom.functions"]], "inkycal.display.display": [[3, "module-inkycal.display.Display"]], "inkycal.main": [[3, "module-inkycal.main"]], "inkycal.modules.ical_parser": [[3, "module-inkycal.modules.ical_parser"]], "inkycal.modules.inky_image": [[3, "module-inkycal.modules.inky_image"]], "internet_available() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.internet_available"]], "load() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.load"]], "load_from_file() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.load_from_file"]], "load_url() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.load_url"]], "merge() (inkycal.modules.inky_image.inkyimage static method)": [[3, "inkycal.modules.inky_image.Inkyimage.merge"]], "module": [[3, "module-inkycal.custom.functions"], [3, "module-inkycal.display.Display"], [3, "module-inkycal.main"], [3, "module-inkycal.modules.ical_parser"], [3, "module-inkycal.modules.inky_image"]], "preview() (inkycal.modules.inky_image.inkyimage static method)": [[3, "inkycal.modules.inky_image.Inkyimage.preview"]], "remove_alpha() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.remove_alpha"]], "resize() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.resize"]], "run() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.run"]], "show_events() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.show_events"]], "sort() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.sort"]], "test() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.test"]], "text_wrap() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.text_wrap"]], "write() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.write"]]}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"About Inkycal": [[0, "about-inkycal"]], "Contents:": [[2, null]], "Creating settings file": [[4, "creating-settings-file"]], "Custom functions": [[3, "module-inkycal.custom.functions"]], "Developer documentation": [[1, "developer-documentation"]], "Display": [[3, "module-inkycal.display.Display"]], "Helper classes": [[3, "module-inkycal.modules.ical_parser"]], "Indices and tables": [[2, "indices-and-tables"]], "Inkycal": [[3, "module-inkycal.main"]], "Inkycal documentation": [[2, "inkycal-documentation"]], "Installing Inkycal": [[4, "installing-inkycal"]], "Quickstart": [[4, "quickstart"]]}, "docnames": ["about", "dev_doc", "index", "inkycal", "quickstart"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["about.md", "dev_doc.md", "index.rst", "inkycal.rst", "quickstart.md"], "indexentries": {"all_day() (inkycal.modules.ical_parser.icalendar static method)": [[3, "inkycal.modules.ical_parser.iCalendar.all_day", false]], "auto_fontsize() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.auto_fontsize", false]], "autoflip() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.autoflip", false]], "calibrate() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.calibrate", false]], "clear() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.clear", false]], "clear_events() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.clear_events", false]], "countdown() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.countdown", false]], "draw_border() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.draw_border", false]], "flip() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.flip", false]], "get_events() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.get_events", false]], "get_fonts() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.get_fonts", false]], "get_system_tz() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.get_system_tz", false]], "get_system_tz() (inkycal.modules.ical_parser.icalendar static method)": [[3, "inkycal.modules.ical_parser.iCalendar.get_system_tz", false]], "icalendar (class in inkycal.modules.ical_parser)": [[3, "inkycal.modules.ical_parser.iCalendar", false]], "image_to_palette() (in module inkycal.modules.inky_image)": [[3, "inkycal.modules.inky_image.image_to_palette", false]], "inkycal (class in inkycal.main)": [[3, "inkycal.main.Inkycal", false]], "inkycal.custom.functions": [[3, "module-inkycal.custom.functions", false]], "inkycal.display.display": [[3, "module-inkycal.display.Display", false]], "inkycal.main": [[3, "module-inkycal.main", false]], "inkycal.modules.ical_parser": [[3, "module-inkycal.modules.ical_parser", false]], "inkycal.modules.inky_image": [[3, "module-inkycal.modules.inky_image", false]], "inkyimage (class in inkycal.modules.inky_image)": [[3, "inkycal.modules.inky_image.Inkyimage", false]], "internet_available() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.internet_available", false]], "load() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.load", false]], "load_from_file() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.load_from_file", false]], "load_url() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.load_url", false]], "merge() (inkycal.modules.inky_image.inkyimage static method)": [[3, "inkycal.modules.inky_image.Inkyimage.merge", false]], "module": [[3, "module-inkycal.custom.functions", false], [3, "module-inkycal.display.Display", false], [3, "module-inkycal.main", false], [3, "module-inkycal.modules.ical_parser", false], [3, "module-inkycal.modules.inky_image", false]], "preview() (inkycal.modules.inky_image.inkyimage static method)": [[3, "inkycal.modules.inky_image.Inkyimage.preview", false]], "remove_alpha() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.remove_alpha", false]], "resize() (inkycal.modules.inky_image.inkyimage method)": [[3, "inkycal.modules.inky_image.Inkyimage.resize", false]], "run() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.run", false]], "show_events() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.show_events", false]], "sort() (inkycal.modules.ical_parser.icalendar method)": [[3, "inkycal.modules.ical_parser.iCalendar.sort", false]], "test() (inkycal.main.inkycal method)": [[3, "inkycal.main.Inkycal.test", false]], "text_wrap() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.text_wrap", false]], "write() (in module inkycal.custom.functions)": [[3, "inkycal.custom.functions.write", false]]}, "objects": {"inkycal": [[3, 0, 0, "-", "main"]], "inkycal.custom": [[3, 0, 0, "-", "functions"]], "inkycal.custom.functions": [[3, 1, 1, "", "auto_fontsize"], [3, 1, 1, "", "draw_border"], [3, 1, 1, "", "get_fonts"], [3, 1, 1, "", "get_system_tz"], [3, 1, 1, "", "internet_available"], [3, 1, 1, "", "text_wrap"], [3, 1, 1, "", "write"]], "inkycal.display": [[3, 0, 0, "-", "Display"]], "inkycal.main": [[3, 2, 1, "", "Inkycal"]], "inkycal.main.Inkycal": [[3, 3, 1, "", "calibrate"], [3, 3, 1, "", "countdown"], [3, 3, 1, "", "run"], [3, 3, 1, "", "test"]], "inkycal.modules": [[3, 0, 0, "-", "ical_parser"], [3, 0, 0, "-", "inky_image"]], "inkycal.modules.ical_parser": [[3, 2, 1, "", "iCalendar"]], "inkycal.modules.ical_parser.iCalendar": [[3, 3, 1, "", "all_day"], [3, 3, 1, "", "clear_events"], [3, 3, 1, "", "get_events"], [3, 3, 1, "", "get_system_tz"], [3, 3, 1, "", "load_from_file"], [3, 3, 1, "", "load_url"], [3, 3, 1, "", "show_events"], [3, 3, 1, "", "sort"]], "inkycal.modules.inky_image": [[3, 2, 1, "", "Inkyimage"], [3, 1, 1, "", "image_to_palette"]], "inkycal.modules.inky_image.Inkyimage": [[3, 3, 1, "", "autoflip"], [3, 3, 1, "", "clear"], [3, 3, 1, "", "flip"], [3, 3, 1, "", "load"], [3, 3, 1, "", "merge"], [3, 3, 1, "", "preview"], [3, 3, 1, "", "remove_alpha"], [3, 3, 1, "", "resize"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "terms": {"": [0, 3], "0": 3, "1": 3, "10": 3, "100": 3, "11": 3, "16": 3, "16grai": 3, "180": 3, "2": 3, "20": 3, "270": 3, "3": 3, "32": 3, "360": 3, "5": 3, "7": 3, "80": 3, "9": 3, "90": 3, "A": 3, "In": 3, "It": 0, "No": 0, "OR": 3, "The": [0, 3], "Then": 3, "To": 3, "_": 0, "about": 2, "access": 3, "accur": 3, "aceinnolab": [3, 4], "aceisac": 0, "actual": 3, "ad": 0, "add": 3, "adjust": 3, "after": 3, "agenda": 0, "align": 3, "aliv": 0, "all": [0, 3], "all_dai": 3, "allow": 3, "alpha": 3, "also": 0, "amount": 0, "an": 3, "angl": 3, "anti": 3, "anyth": 0, "arg": 3, "arrow": 3, "assembl": 3, "async": 3, "atom": 0, "attempt": 3, "attribut": 3, "auto_fonts": [2, 3], "autofit": 3, "autoflip": 3, "automat": 3, "avail": 3, "awar": 3, "band": 3, "befor": 3, "begin": 3, "behind": 0, "below": 3, "black": 3, "blend": 0, "bool": 3, "boot": 3, "border": 3, "box": 3, "box_siz": 3, "built": 0, "bw": 3, "bwr": 3, "bwy": 3, "calcul": 3, "calendar": 0, "calibr": 3, "can": [0, 3], "care": [0, 3], "case": 0, "caus": 3, "cd": 4, "center": 3, "chang": 3, "check": 3, "choos": 3, "chunk": 3, "class": 2, "clear": 3, "clear_ev": 3, "clockwis": 3, "clone": 4, "co": 3, "coffe": 0, "colour": 3, "com": [3, 4], "come": 4, "commerci": 0, "commonli": 3, "commun": 0, "compat": 0, "config": 3, "connect": 3, "contain": 3, "coordin": 3, "copi": 4, "copyright": 3, "corner": 3, "correct": 3, "correctli": 3, "could": 3, "countdown": 3, "cours": 0, "creat": [0, 1, 2, 3], "current": 3, "custom": 2, "cycl": 3, "dai": 3, "dashboard": 0, "date": 3, "dd": 3, "decim": 3, "default": 3, "defin": 3, "desir": 3, "desktop": 3, "detail": 0, "develop": [0, 2], "dictionari": 3, "directli": 4, "discord": 0, "displai": [0, 2], "dither": 3, "do": 3, "doesn": [0, 3], "don": 0, "donat": 0, "download": [3, 4], "draw": 3, "draw_bord": [2, 3], "drawn": 3, "driver": 3, "e": [0, 3, 4], "each": 3, "eas": 3, "edit": 0, "effort": 0, "els": 3, "en": 3, "end": 3, "environ": 0, "epap": 3, "epaper_model": 3, "establish": 3, "etc": 0, "even": 0, "event": [0, 3], "exampl": 3, "except": 3, "extract": 3, "face": 0, "fals": 3, "feed": 0, "fetch": 0, "few": 0, "file": [0, 2, 3], "filenotfounderror": 3, "filepath": 3, "fill": 3, "fill_height": 3, "fill_width": 3, "first": 3, "fit": 3, "flip": 3, "fmt": 3, "folder": [3, 4], "follow": 3, "font": 3, "fontfil": 3, "fontnam": 3, "fontsiz": 3, "forecast": 0, "form": 0, "format": 3, "found": 3, "free": 0, "friendli": 0, "from": [0, 3], "full": [0, 3], "fulli": 0, "function": 2, "g": 3, "gener": [3, 4], "get": [0, 3], "get_ev": 3, "get_font": [2, 3], "get_system_tz": [2, 3], "git": 4, "github": 4, "given": 3, "go": 4, "googl": [0, 3], "gpicview": 3, "grai": 3, "greater": 3, "ha": [0, 3], "handl": 3, "have": [0, 3], "height": 3, "height_shrink_percentag": 3, "help": 0, "helper": 2, "hh": 3, "home": 3, "horizont": 3, "hour": 0, "htpp": 3, "http": [3, 4], "i": [0, 1, 3], "ical_pars": 3, "icalendar": [0, 2, 3], "idea": 0, "im_black": 3, "im_colour": 3, "imag": 3, "image1": 3, "image2": 3, "image_to_palett": [2, 3], "imagefont": 3, "imga": 3, "import": 3, "improv": 3, "increas": 3, "index": 2, "infin": 3, "info": 3, "inform": 0, "initi": 3, "inky_imag": 3, "inkyimag": [2, 3], "input": 3, "instal": 2, "instanc": 3, "instead": 3, "int": 3, "integ": 3, "internet": 3, "internet_avail": [2, 3], "interv": 3, "interval_min": 3, "invest": 0, "io": 3, "issu": 3, "its": 0, "joke": 0, "json": 3, "keep": 0, "kwarg": 3, "larg": 0, "latest": [0, 3], "layout": 3, "left": 3, "lib": 3, "line": 3, "list": 3, "liter": 3, "load": 3, "load_from_fil": 3, "load_url": 3, "local": 3, "logo": 3, "long": 3, "look": [0, 3], "loop": 3, "made": 3, "mai": 0, "main": [0, 3], "mainli": [0, 1], "map": 3, "max_height": 3, "max_width": 3, "maximum": 3, "mean": 0, "merg": 3, "minut": 3, "miss": 0, "mm": 3, "mmm": 3, "mode": 3, "model": 3, "modifi": 3, "modul": [0, 1, 2, 3], "modular": 0, "monthli": 0, "more": [0, 3, 4], "moudul": 3, "much": 3, "multipl": 3, "name": 3, "navig": 4, "need": 0, "network": 3, "new": [0, 3], "next": [0, 3], "nice_p": 3, "non": [0, 3], "none": 3, "nonstop": 3, "noob": 0, "noth": 0, "now": 3, "number": 3, "object": 3, "one": 3, "ones": 3, "onli": 3, "open": 0, "oper": 3, "optim": 3, "option": 3, "order": 3, "ordin": 3, "organis": 0, "oserror": 3, "other": [0, 3], "output": 3, "own": 0, "packag": 3, "page": 2, "palett": 3, "paper": [0, 3], "paramet": 3, "pars": 3, "part": 3, "parti": [0, 1], "password": 3, "past": 3, "path": 3, "path1": 3, "path2": 3, "percentag": 3, "phone": 0, "pi": [0, 3, 4], "pil": 3, "pinch": 0, "pip3": 4, "pixel": 3, "plain": 3, "pleas": [0, 4], "png": 3, "point": 3, "posit": 3, "possibl": 3, "present": 3, "preview": 3, "previous": 3, "print": 3, "program": 3, "project": [0, 3], "protect": 3, "provid": 0, "py": 3, "python3": [0, 3], "quickstart": 2, "radiu": 3, "rais": 3, "rapsbian": 3, "raspberri": [0, 4], "raw": 3, "re": 0, "reach": 3, "readabl": 3, "readthedoc": 3, "rectangl": 3, "red": 3, "reduc": 3, "refresh": 3, "remain": 3, "remov": 3, "remove_alpha": 3, "render": 3, "replac": 3, "repo": 4, "repres": 3, "requir": 3, "resiz": 3, "return": 3, "rgba": 3, "right": 3, "rotat": 3, "round": 3, "rss": 0, "run": [0, 3], "runner": 3, "sampl": 3, "save": 3, "scale": 3, "schedul": 3, "search": [2, 3], "second": 3, "see": 3, "select": [0, 3], "set": [0, 2, 3], "settings_path": 3, "sever": 0, "shade": 3, "share": 0, "should": 3, "show": [0, 3], "show_ev": 3, "shown": 3, "shrink": 3, "shrinkag": 3, "singl": 3, "site": 3, "size": 3, "sleep": 3, "smaller": 3, "smile": 0, "softwar": 0, "solid": 3, "some": 0, "someth": [0, 3], "soon": 4, "sort": 3, "sourc": 0, "specifi": 3, "split": 3, "stai": 0, "start": 3, "static": 3, "str": 3, "string": 3, "student": 0, "support": [0, 3], "sync": 0, "synchronis": 0, "system": 3, "sytax": 3, "t": [0, 3], "take": [0, 3], "test": 3, "text": 3, "text_wrap": [2, 3], "than": 3, "thank": 0, "them": [0, 3], "thi": [0, 1, 3], "thick": 3, "third": [0, 1], "time": [0, 3], "timelin": 3, "timeline_end": 3, "timeline_start": 3, "timeout": 3, "timezon": 3, "token": 3, "too": 0, "top": 3, "transpar": 3, "tri": 3, "true": 3, "truetyp": 3, "tupl": 3, "two": 3, "type": 3, "typeerror": 3, "tz": 3, "u": 0, "ui": [0, 4], "univers": 0, "until": 3, "up": 0, "updat": 3, "url": 3, "url1": 3, "url2": 3, "us": 3, "user": 0, "usernam": 3, "usual": 3, "utc": 3, "valid": 3, "valu": 3, "valueerror": 3, "venv": 3, "veri": 3, "vertic": 3, "via": [0, 4], "wa": [0, 3], "wai": 3, "we": 0, "weather": 0, "web": [0, 4], "week": 0, "welcom": 0, "well": 0, "what": 0, "when": 3, "where": 3, "which": [0, 3], "white": 3, "who": 1, "width": 3, "width_shrink_percentag": 3, "wish": 1, "without": [0, 3], "work": [0, 3], "write": [0, 2, 3], "written": 3, "x": 3, "xy": 3, "y": 3, "yai": 0, "yellow": 3, "you": 0, "your": [0, 3, 4], "yy": 3, "zero": 0}, "titles": ["About Inkycal", "Developer documentation", "Inkycal documentation", "Inkycal", "Quickstart"], "titleterms": {"about": 0, "class": 3, "content": 2, "creat": 4, "custom": 3, "develop": 1, "displai": 3, "document": [1, 2], "file": 4, "function": 3, "helper": 3, "indic": 2, "inkyc": [0, 2, 3, 4], "instal": 4, "quickstart": 4, "set": 4, "tabl": 2}})
\ No newline at end of file