Crates.io | shadocal |
lib.rs | shadocal |
version | 0.1.1 |
source | src |
created_at | 2024-09-12 03:15:13.540127 |
updated_at | 2024-09-12 03:15:13.540127 |
description | A blazingly fast, Google calendar (more in future) event formatter webserver tool. |
homepage | |
repository | https://github.com/Shadorain/Shadocal |
max_upload_size | |
id | 1372449 |
size | 122,605 |
A blazingly fast, Google calendar (more in future) event formatter webserver tool.
Usage
•
Notes
•
Examples
•
Development
Docs
Currently in it's binary state, Shadocal can only be run as an executable from the command line.
It should be run with no arguments. Any configuration is done with environment variables.
Shadocal spins up a webserver on an environment variable controlled port and ip:
# Default PORT and IP
export SHADOCAL_IP=127.0.0.1
export SHADOCAL_PORT=7117
This step only has to be done once.
To authenticate with OAuth2 to your Google Calendar you must configure some things on the Google side. Use the beginning steps of this handy guide from the NodeJS team to help with this.
credentials.json
fileOnce you have your credentials.json
file, get the contents and encode them in base64
format.
Now set this environment variable to the encoded string:
export GOOGLE_KEY_ENCODED=PUT_THE_BASE64_KEY_HERE
This can be put in a file (without "export") in your local data directory.
On Linux: $HOME/.local/share/shadocal/client
.
On the first run of Shadocal, it will ask you to authenticate with your Google account using the credentials you provided. It will store the refresh token in the same data directory.
The Rust ecosystem must be installed, use the Rustup toolchain installer which makes the process incredibly easy.
To install the latest stable version of Shadocal using cargo
use this command:
cargo install shadocal
Currently there are no executable builds for this project yet, see Tasks.
Shadocal uses the backend actix-web for its speed and simplicity.
CORS is enabled to ensure safe usage of the API.
Currently there are only two hardcoded formatters available:
I hope to improve this drastically by allowing the user to create custom formats.
Be sure to visit the Wiki for examples and use cases!
I'm happy to address any Issues or Pull Requests when I can.
In the current state this project meets my needs for my Tana workflow but I will continue to work on this as I can to add these other features.
Format
sFormat
s