Skip to content

Commit 532b962

Browse files
committed
Website redesign
1 parent 6474207 commit 532b962

4 files changed

Lines changed: 792 additions & 689 deletions

File tree

404.html

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Page Not Found - KashCal</title>
7+
<meta name="robots" content="noindex">
8+
<link rel="icon" type="image/svg+xml" href="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/icon.png">
9+
<style>
10+
* {
11+
margin: 0;
12+
padding: 0;
13+
box-sizing: border-box;
14+
}
15+
16+
body {
17+
min-height: 100vh;
18+
display: flex;
19+
flex-direction: column;
20+
align-items: center;
21+
justify-content: center;
22+
background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%);
23+
color: #fff;
24+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
25+
padding: 2rem;
26+
text-align: center;
27+
}
28+
29+
.container {
30+
max-width: 500px;
31+
}
32+
33+
.error-code {
34+
font-size: 8rem;
35+
font-weight: 800;
36+
background: linear-gradient(135deg, #00d4aa 0%, #7c3aed 50%, #ec4899 100%);
37+
-webkit-background-clip: text;
38+
-webkit-text-fill-color: transparent;
39+
background-clip: text;
40+
line-height: 1;
41+
margin-bottom: 1rem;
42+
}
43+
44+
h1 {
45+
font-size: 1.5rem;
46+
font-weight: 600;
47+
margin-bottom: 1rem;
48+
color: #e0e0e0;
49+
}
50+
51+
p {
52+
color: #888;
53+
margin-bottom: 2rem;
54+
line-height: 1.6;
55+
}
56+
57+
.home-link {
58+
display: inline-flex;
59+
align-items: center;
60+
gap: 0.5rem;
61+
padding: 0.875rem 1.75rem;
62+
background: linear-gradient(135deg, #00d4aa, #00b894);
63+
color: #000;
64+
text-decoration: none;
65+
border-radius: 8px;
66+
font-weight: 600;
67+
transition: transform 0.2s, box-shadow 0.2s;
68+
}
69+
70+
.home-link:hover {
71+
transform: translateY(-2px);
72+
box-shadow: 0 8px 25px rgba(0, 212, 170, 0.3);
73+
}
74+
75+
.home-link svg {
76+
width: 18px;
77+
height: 18px;
78+
}
79+
80+
@media (prefers-reduced-motion: reduce) {
81+
.home-link {
82+
transition: none;
83+
}
84+
.home-link:hover {
85+
transform: none;
86+
}
87+
}
88+
</style>
89+
</head>
90+
<body>
91+
<div class="container">
92+
<div class="error-code">404</div>
93+
<h1>Page Not Found</h1>
94+
<p>The calendar event you're looking for doesn't exist. It may have been moved or deleted.</p>
95+
<a href="/" class="home-link">
96+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
97+
<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>
98+
<polyline points="9 22 9 12 15 12 15 22"></polyline>
99+
</svg>
100+
Back to KashCal
101+
</a>
102+
</div>
103+
</body>
104+
</html>

README.md

Lines changed: 4 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,9 @@
1-
# KashCal
1+
# KashCal Website
22

3-
**Your calendar. Your device. Your rules.**
3+
Source for [kashcal.github.io](https://kashcal.github.io)
44

5-
[![Build](https://github.com/KashCal/KashCal/actions/workflows/build.yml/badge.svg)](https://github.com/KashCal/KashCal/actions/workflows/build.yml)
6-
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/KashCal/KashCal/blob/main/LICENSE)
7-
[![Android](https://img.shields.io/badge/Android-8.0%2B-green.svg)](https://developer.android.com/about/versions/oreo)
8-
9-
A privacy-first calendar that works offline and looks beautiful. Connect to iCloud — or don't. Your schedule, your choice.
10-
11-
---
12-
13-
<table align="center">
14-
<tr>
15-
<td align="center"><img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/HomePage-with-AboutMe.png" width="180"><br><sub>Home & Agenda</sub></td>
16-
<td align="center"><img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/NewEvent.png" width="180"><br><sub>Create Event</sub></td>
17-
<td align="center"><img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/NewEvent-Date-Time-Picker.png" width="180"><br><sub>Date & Time Picker</sub></td>
18-
<td align="center"><img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/Settings.png" width="180"><br><sub>Settings</sub></td>
19-
</tr>
20-
<tr>
21-
<td align="center"><img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/Apple-Calendar-Connect.png" width="180"><br><sub>iCloud Connect</sub></td>
22-
<td align="center"><img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/Sync-with-iCloud.png" width="180"><br><sub>iCloud Sync</sub></td>
23-
<td align="center"><img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/ICS-Subscription.png" width="180"><br><sub>ICS Subscriptions</sub></td>
24-
<td></td>
25-
</tr>
26-
</table>
27-
28-
---
29-
30-
## Why KashCal?
31-
32-
| | KashCal | Others |
33-
|---|---------|--------|
34-
| Analytics | None | Often |
35-
| Account Required | No | Usually |
36-
| Works Offline | Full | Limited |
37-
| Open Source | Yes | Rarely |
38-
| iCloud on Android | Yes | Rare |
39-
40-
## Features
41-
42-
- **Privacy-First** — Zero analytics, zero tracking. Your schedule stays private.
43-
- **Offline-First** — Works without internet. Sync when you want, not when the app wants.
44-
- **iCloud Sync** — Native CalDAV support for Apple Calendar on Android.
45-
- **Material You** — Beautiful, modern design with dynamic theming.
46-
- **Home Widget** — Today's agenda at a glance.
47-
- **Recurring Events** — Full RFC 5545 RRULE support with exceptions.
48-
- **Progressive Sync** — Events appear in 2-5 seconds, not 30.
49-
- **Search** — Full-text search across all your events.
50-
- **Timezone Support** — Per-event timezone with smart display.
51-
52-
## How It Works
53-
54-
```
55-
User Action → Local DB (instant) → Background Sync (only if using iCloud)
56-
```
57-
58-
All operations save locally first. Sync happens in the background — your calendar works even without internet or any external calendar service.
59-
60-
## Security & Privacy
61-
62-
### Your Data Stays Yours
63-
- **No Analytics** — Zero tracking, telemetry, or data collection
64-
- **No Accounts** — No KashCal account required
65-
- **Local-First** — Calendar data stored on your device
66-
- **Open Source** — Fully auditable codebase
67-
68-
### Secure by Design
69-
- **Encrypted Credentials** — AES-256-GCM via Android Keystore
70-
- **HTTPS Only** — Cleartext traffic blocked
71-
- **No WebViews** — Native UI only, no embedded browsers
72-
- **Minimal Permissions** — Only what's necessary
73-
74-
## Download
75-
76-
**[GitHub Releases](https://github.com/KashCal/KashCal/releases)** — Download the latest APK
77-
78-
**F-Droid** — Coming soon
79-
80-
**IzzyOnDroid** — Coming soon
81-
82-
## iCloud Setup
83-
84-
1. Go to [appleid.apple.com](https://appleid.apple.com)
85-
2. Sign in → **Sign-In and Security****App-Specific Passwords**
86-
3. Generate a password named "KashCal"
87-
4. In KashCal: **Settings****iCloud Account** → Enter email and app-specific password
88-
89-
## Tech Stack
90-
91-
- **UI**: Jetpack Compose + Material 3
92-
- **Widget**: Jetpack Glance
93-
- **DI**: Hilt
94-
- **Database**: Room
95-
- **Async**: Kotlin Coroutines + Flow
96-
- **Background**: WorkManager
97-
- **Network**: OkHttp
98-
- **iCal**: ical4j + lib-recur
99-
100-
## Contributing
101-
102-
See [CONTRIBUTING.md](https://github.com/KashCal/KashCal/blob/main/CONTRIBUTING.md) for guidelines.
5+
For app details, see the main repo: [KashCal/KashCal](https://github.com/KashCal/KashCal)
1036

1047
## License
1058

106-
Apache License 2.0 — see [LICENSE](https://github.com/KashCal/KashCal/blob/main/LICENSE)
107-
108-
---
109-
110-
<p align="center">
111-
<b>KashCal</b><br>
112-
Your calendar. Your privacy. Your control.
113-
</p>
9+
Apache License 2.0

0 commit comments

Comments
 (0)