say what this plugin is for, in the store's words

tags are how the marketplace is browsed rather than scrolled: a list of them on
the left, the plugins that carry one on the right. a closed vocabulary
(PLUGIN_TAGS in the platform) because free text becomes homelab, home-lab, Home
Lab and selfhosted inside a month, and a filter list of synonyms is worse than
no filter at all.

declared here rather than curated in the catalogue, so a plugin can say what it
is and nobody edits a table when one ships. the marketplace caches it on sync,
exactly as it already does for label and summary.
This commit is contained in:
2026-08-27 06:49:29 +00:00
parent a161e2ac5f
commit 2bfdb9c284
+14 -1
View File
@@ -12,10 +12,23 @@ export const manifest: PluginManifest = {
version: '1.0.0',
platform: '>=1.0.0',
label: 'Calendar',
/**
* What it is called in the store, in words that assume nothing.
*
* Not "Calendar", which is one of its two screens and undersells it; not "CalDAV" or "caldav", which
* are protocol names a person browsing has no reason to know. The convention across the store is that
* a plugin is named for what you get, not for how it works.
*/
label: 'Contacts and Calendar',
summary: 'Calendars and contacts on your own machine, synced to your phone over CalDAV and CardDAV.',
color: '#ef4444',
/**
* Personal because that is what it holds; Degoogling because replacing Google Calendar and Google
* Contacts is the reason most people would install it.
*/
tags: ['Personal', 'Degoogling'],
/**
* Two screens at URLs this plugin chose — `/calendar` and `/contacts`, not `/caldav/calendar`.
*