Skip to content

Commit 6dd0a85

Browse files
committed
seo: per-post social cards, FAQ schema, month archive, privacy post
- Add scripts/gen-social-cards.js: renders a branded 1200x630 card per blog post (title + date on the KashCal template) via rsvg-convert, committed under static/img/social/blog/, and re-points each post's og:image to its own card. Exposed as `npm run social-cards`. Fixes every post sharing one link preview. - Add a reusable FaqSchema component and emit FAQPage JSON-LD on the FAQ page and the three feature pages with a Common questions section, for FAQ rich results. - Swizzle BlogArchivePage and BlogSidebar/Content to group posts by month ("July 2026") instead of year. - New privacy blog post on KashCal's no-account, no-tracking, offline-first design; revives the behind-the-scenes tag. - Give accessible-calendar-android its own social card instead of the default. - Put the target keyword in the meta title of calendar-insights and share-event-as-card while keeping their evocative on-page H1.
1 parent 619a279 commit 6dd0a85

31 files changed

Lines changed: 529 additions & 11 deletions

blog/2026-06-30-kashcal-challenge.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords:
1111
- icloud calendar on android
1212
- caldav calendar app
1313
description: "The free, open-source things KashCal does that most Android calendar apps charge for or skip. Take the KashCal Challenge, tag #KashCal, and dare a friend."
14-
image: /img/social/home.png
14+
image: /img/social/blog/kashcal-challenge.png
1515
---
1616

1717
A handful of things KashCal does that most calendar apps charge for, bury, or skip.

blog/2026-07-01-curtain-for-your-calendar.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords:
1111
- fingerprint lock calendar
1212
- password protect calendar android
1313
description: KashCal now has App lock. Hide your calendar behind your fingerprint, face, or PIN on Android, so it stops being everyone's business.
14-
image: /img/social/home.png
14+
image: /img/social/blog/curtain-for-your-calendar.png
1515
---
1616

1717
Your calendar is the nosiest app on your phone. It knows about the dentist, the interview you told nobody about, and the event you just labeled "lunch??". It is a diary that schedules your life.

blog/2026-07-02-kashcal-2026-07-02.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ keywords:
1010
- calendar time picker minutes
1111
- smaller calendar app android
1212
description: KashCal 2026.07.02 adds exact-minute times to the time picker and cuts the download to roughly a third of its old size. Here's what changed.
13-
image: /img/social/home.png
13+
image: /img/social/blog/kashcal-2026-07-02.png
1414
---
1515

1616
Dispatch from the lab, best known (of all things) for a calendar.

blog/2026-07-05-kashcal-talkback-accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ keywords:
1010
- calendar app for blind android
1111
- colorblind calendar android
1212
description: "KashCal 2026.07.05 adds full TalkBack support: jumpable headings, spoken status, events that say what they are, plus a per-app language setting."
13-
image: /img/social/home.png
13+
image: /img/social/blog/kashcal-talkback-accessibility.png
1414
---
1515

1616
For a while now, KashCal has had a quiet flaw: you could only use it by looking at it. It worked beautifully with your eyes, and went silent as a stone the moment you turned on a screen reader. A calendar that only works when you're watching it is, on reflection, a poster. So this release taught it to talk.

blog/2026-07-06-kashcal-theme-picker-supporter-icon.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords:
1111
- custom app icon calendar android
1212
- teal calendar app
1313
description: "KashCal 2026.07.06 adds a theme picker with a KashCal Teal palette, and a supporter app icon you can switch to from Settings. Here's what changed."
14-
image: /img/social/home.png
14+
image: /img/social/blog/kashcal-theme-picker-supporter-icon.png
1515
---
1616

1717
This release is about making KashCal yours. Two new choices, both in Settings, one for how the app looks and one for how it shows up on your home screen.

blog/2026-07-11-kashcal-calendar-you-accent-colors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords:
1111
- material you calendar android
1212
- calendar widget theme android
1313
description: "KashCal 2026.07.11 lets you pick your accent from 92 colors and carry it across the whole app and your home screen widgets, or keep Material You. Here's what changed."
14-
image: /img/social/home.png
14+
image: /img/social/blog/kashcal-calendar-you-accent-colors.png
1515
---
1616

1717
Last release we gave you KashCal Teal and were very pleased with ourselves. Then someone pointed out the obvious: we had spent a whole update letting you choose your color, and then chose it for you. A calendar telling you your favorite color is teal is a bit like a waiter ordering for the table. Bold. Rarely correct.

blog/2026-07-13-kashcal-agenda-90-days-timeline-memory.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords:
1111
- agenda month header android
1212
- android calendar 90 day view
1313
description: "KashCal 2026.07.13 widens the agenda to 90 days, adds a scroll-aware month header, remembers your timeline zoom across restart, and fixes the month view."
14-
image: /img/social/home.png
14+
image: /img/social/blog/kashcal-agenda-90-days-timeline-memory.png
1515
---
1616

1717
Your agenda finally learned to read the room. Day in, day out, its top bar proudly announced "Agenda," heroically confirming that the agenda screen was, against all odds, the agenda screen. Thank you, brave label. It has now been reassigned.

blog/2026-07-15-kashcal-event-tags.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ keywords:
1111
- tag events quick add android
1212
- caldav calendar tags
1313
description: "KashCal 2026.07.15 adds event tags: colored #chips you set in the form or type into Quick Add, shown across the day, week, and agenda views."
14-
image: /img/social/home.png
14+
image: /img/social/blog/kashcal-event-tags.png
1515
---
1616

1717
Since the beginning of KashCal, your events have been sorted the way a coat check sorts coats: by which calendar you flung them into, and not one thought more. This release lets you label them yourself. Meet tags.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
slug: no-account-private-calendar-android
3+
title: "The calendar with no account to sign up for"
4+
authors: [kashcal]
5+
tags: [privacy, behind-the-scenes]
6+
keywords:
7+
- private calendar android
8+
- no account calendar app
9+
- open source calendar android
10+
- calendar without google account
11+
- offline calendar android
12+
- no tracking calendar
13+
description: "KashCal has no account, no trackers, and no servers of its own. Here's what that actually means for your calendar, and why it's built that way."
14+
image: /img/social/blog/no-account-private-calendar-android.png
15+
---
16+
17+
Most apps greet you with a wall: sign in, or create an account. A calendar app doing that is quietly asking you to route your dentist appointments, your interviews, and your "lunch??" through a stranger's servers so it can hand them back to you later. KashCal never asks. There is no account, because there is nothing to sign into.
18+
19+
{/* truncate */}
20+
21+
## No account, because there are no KashCal servers
22+
23+
This isn't a privacy setting you switch on. It's the shape of the app. There is **no KashCal account** to create, **no KashCal server** anywhere for your events to pass through, and **no analytics, telemetry, or ad SDK** riding along inside. There is, quite literally, nowhere for us to send your data, so there is nothing for us to collect. A privacy policy is easy to write when the honest version is "we don't have your data and never did."
24+
25+
## Your calendar lives on your phone
26+
27+
Your events sit in a [secure database on your device](/docs/privacy/overview) that other apps can't read. The only things that ever leave your phone go to servers **you** chose: your events sync to your own calendar server, iCloud, Nextcloud, Fastmail, or [any CalDAV service](/docs/sync/supported-servers), and an RSVP goes to the organizer who invited you. Nothing else goes anywhere.
28+
29+
And when you're offline, none of that matters. KashCal is [offline-first](/docs/sync/how-sync-works): everything you do lands instantly on the device, and it quietly catches up with your servers when there's a connection. A plane, a basement, a dead zone, the calendar still works.
30+
31+
## Passwords that can't be lifted from a backup
32+
33+
When you connect a calendar server, its password is [encrypted on your device](/docs/privacy/overview) with AES-256, and the key lives in the Android Keystore, hardware-backed where the phone supports it. The key is tied to that one device, so a stolen backup can't be replayed onto another phone to reach your accounts. The trade-off is honest: move to a new phone and you re-enter your passwords. We think that's the right side of the line.
34+
35+
## Permissions you can actually reason about
36+
37+
KashCal asks only for what a feature in front of you needs, and it asks in context, with a plain reason. Contacts is for suggesting guests and showing birthdays. Calendar access is for showing the calendars other apps already keep on your phone. Decline any of it and the rest of the app keeps working. No all-or-nothing gate at the door.
38+
39+
## Free, and open about it
40+
41+
KashCal is free and open source under Apache-2.0, so "we don't track you" isn't a promise you have to take on faith. The source is [right there to read](https://github.com/KashCal/KashCal). If we ever added a tracker, someone would see the commit.
42+
43+
[Get KashCal free on F-Droid](https://f-droid.org/packages/org.onekash.kashcal/). No account, no ads, no catch. Read [how privacy works](/docs/privacy/overview) in full.
44+
45+
Your calendar was never anyone else's business. Now it's built that way.

docs/help/faq.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,25 @@ title: FAQ
44
description: Quick answers to the most common KashCal questions, from whether it's free to how sync, accounts, and privacy work.
55
---
66

7+
import FaqSchema from '@site/src/components/FaqSchema';
8+
79
# Frequently asked questions
810

11+
<FaqSchema items={[
12+
{question: 'Is KashCal free? Is there a catch?', answer: "Yes, it's free and open source under the Apache-2.0 license. There's no paid tier, no ads, and no account to create. A donation is optional and never required, and nothing in the app is locked behind it."},
13+
{question: 'Do I need to create a KashCal account?', answer: 'No. KashCal has no accounts and no servers. You connect your own calendar accounts (like iCloud or Nextcloud), and you can use the app fully offline with a local calendar even without connecting anything.'},
14+
{question: 'Does KashCal track me or sell my data?', answer: 'No. There is no analytics, no telemetry, and no advertising. Your data stays on your device and your own calendar servers.'},
15+
{question: 'Which calendar services does it work with?', answer: 'iCloud and any CalDAV server: Nextcloud, Fastmail, Radicale, Baikal, Zoho, mailbox.org, Stalwart, SOGo, and more.'},
16+
{question: 'Does it work with Google Calendar or Outlook?', answer: 'Yes, through your phone. Google removed third-party CalDAV access and Outlook does not expose CalDAV, so both come in through the Device Calendar bridge: if the Google or Outlook app already syncs those calendars to your phone, KashCal shows them.'},
17+
{question: 'Is KashCal on the Google Play Store?', answer: 'Not yet. KashCal is distributed through F-Droid, IzzyOnDroid, and Obtainium.'},
18+
{question: 'Does KashCal support CardDAV, tasks, or attachments?', answer: 'No. KashCal is events-only (VEVENT). It does not do CardDAV (contacts) or VTODO tasks and attachments. Calendars that contain only VTODO or VJOURNAL resources are skipped during sync.'},
19+
{question: 'Why will my iCloud password not work?', answer: 'iCloud requires an app-specific password, not your normal Apple password. Create one at account.apple.com and use that to connect.'},
20+
{question: 'Can I use KashCal offline?', answer: 'Yes, it is offline-first. You can view and edit events with no connection, and changes sync automatically when you are back online.'},
21+
{question: 'Why is background sync not more frequent than 15 minutes?', answer: 'That is an Android system limit for background work. It is the shortest automatic interval the platform allows. You can always pull down to refresh for an immediate sync.'},
22+
{question: 'What Android version do I need?', answer: 'Android 12 or newer.'},
23+
{question: 'How do I move to a new phone?', answer: 'Back up your settings, restore them on the new device, and re-add your calendar accounts (passwords are not transferred, by design). Your events come back via sync.'},
24+
]} />
25+
926
## Is KashCal free? Is there a catch?
1027

1128
Yes, it's free and open source under the Apache-2.0 license. There's no paid tier, no

0 commit comments

Comments
 (0)