-
-
Notifications
You must be signed in to change notification settings - Fork 119
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
125 changed files
with
13,090 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: 989a85167e87fe85d50388008e489594 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
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,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! |
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 @@ | ||
# Developer documentation | ||
|
||
This documentation is mainly for developers who wish to create a third party | ||
module |
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,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` |
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,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: |
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,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.. |
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,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; | ||
} |
Oops, something went wrong.