diff --git a/modules/rfeeds/landing.ts b/modules/rfeeds/landing.ts new file mode 100644 index 00000000..11425e49 --- /dev/null +++ b/modules/rfeeds/landing.ts @@ -0,0 +1,143 @@ +/** + * rFeeds — landing page body. + * Returned by landingPage() in the module export; + * the shell wraps it with header, CSS, and analytics. + */ +export function renderLanding(): string { + return ` + +
RSS Dashboard & Activity Aggregator
++ Subscribe to external RSS/Atom feeds, pull activity from your rSpace modules, + curate what matters, and republish as a unified Atom feed — + all from one local-first dashboard. +
+Subscribe to any RSS or Atom feed. Bulk import via OPML. Background sync keeps items fresh.
+Pull activity from Calendar, Tasks, Docs, Wallet, Photos, and more — directly from Automerge docs.
+Write short posts that appear in the timeline alongside imported items. Quick updates for your community.
+Curate the best items and reshare them into your space’s public Atom feed for others to subscribe to.
+Paste an RSS URL, import an OPML file, or enable rApp activity adapters to pull from your modules.
+Browse the unified timeline. Mark the best items as “Reshared” to include them in your outbound feed.
+Your space publishes an Atom feed. Other spaces, RSS readers, or newsletters can subscribe to it.
++ Every member can create a personal feed profile that aggregates their activity across modules. +
+Set a display name, bio, and choose which modules appear in your personal feed.
+Each profile gets a unique Atom URL. Others subscribe via any RSS reader or rFeeds instance.
+Subscribe to someone’s personal feed from a different space — it’s just a standard Atom URL.
+All feeds published as standard Atom XML. Compatible with every RSS reader on the planet.
+Feed data stored in local-first Automerge documents. Works offline, syncs on reconnect.
+Passkey-authenticated profiles. No passwords, no seeds — just biometric or hardware key sign-in.
+Try the demo or create a space to start curating.
+