app
RSS to Google Chat
Public Made by Adomby adom
Post new RSS feed items straight into your Google Chat spaces. A small always-on poller with a pinnable web editor: click the link in your space, add or edit feeds, Save — live within one poll cycle. Per-feed dedup handles both news feeds (post once) and status pages (re-post on updates).
← Commit history
README.md+24−1@@ -65,7 +65,7 @@ boot, then prefix the install command below with Run this on whichever container will host the service: ```bash-curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.6.1/install.sh | bash+curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.7.0/install.sh | bash ``` No Rust, git, or other tooling needed: the installer downloads a prebuilt@@ -243,6 +243,29 @@ usable: `"AI"` matches "AI Act" and "AI-native" but not "Entertainment" or `"Test Bed"` matches "Test Beds". All-caps acronyms are matched exactly, because their plural is a different word: `"TIP"` does not match "tips". +### Watching a page that has no feed++Not every publisher ships RSS. `page_watch` reads entries off the HTML instead,+which is how a product changelog that otherwise only arrives by marketing email+becomes a feed:++```json+{ "url": "https://www.quilter.ai/changelog", "label": "Quilter Changelog",+ "page_watch": { "headings": ["h2", "h3"] } }+```++| key | meaning |+|---|---|+| `headings` | Heading levels that mark an entry. Default `h2` + `h3`. |+| `link_prefix` | Take links whose href contains this instead of headings, for index pages that list posts. |++Entries dedup on their text, so an entry is posted once even though every entry+on the page shares one URL, and the first poll seeds silently rather than+posting the whole backlog. Filters apply as usual, which is what keeps a blog+that mixes product news with SEO articles readable. If a redesign moves the+headings, the log says `page watch found no entries` instead of the watch+quietly reporting nothing forever.+ Categories only work when the publisher tags them. Many organisation-wide feeds (most `.gov` ones) carry none, so title keywords are the way to follow a single programme inside a firehose:
SKILL.md+23−1@@ -44,7 +44,7 @@ own small Adom container; no central service, no shared credentials. 2. **Install on the host container** (one-liner, no Rust/git needed): ```bash- curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.6.1/install.sh | bash+ curl -fsSL https://wiki.adom.inc/download/adom/adom-rss-gchat/1.7.0/install.sh | bash ``` The installer prints the exact next steps. It also authenticates its own@@ -114,6 +114,28 @@ starts; it ends with that paragraph). `expand_headlines: true` is the simpler zero-config version that just lists the issue's contents. Both are per-feed and degrade to title + link if the publisher restructures. +### Sites with no feed (watch the page instead)++`page_watch` reads entries straight off an HTML page, for publishers that never+shipped a feed. It is the answer for a product changelog that only ever reaches+you by marketing email.++```json+{ "url": "https://example.com/changelog", "label": "Example Changelog",+ "page_watch": { "headings": ["h2", "h3"] } }+```++- `headings` (default `h2` + `h3`) names the levels that mark an entry, which+ is how changelogs are written. Site chrome usually sits at other levels.+- `link_prefix` takes links whose href contains it instead of headings, for+ index pages that list posts rather than heading them+ (`"link_prefix": "/p/blog/"`).+- Entries dedup on their text and the first poll seeds silently, so adding one+ never floods the space with the existing backlog. All the normal filters+ apply, which matters on blogs that mix product news with SEO articles.+- A redesign that moves the headings logs "page watch found no entries" rather+ than going quiet, so a broken watch is visible in the log.+ ### Sites with no feed yet Put them in `watchlist` in feeds.json (`label`, `site`, optional `notes` and
package.json+1−1@@ -2,7 +2,7 @@ "slug": "adom-rss-gchat", "title": "RSS to Google Chat", "type": "app",- "version": "1.6.1",+ "version": "1.7.0", "description": "Post new RSS feed items straight into your Google Chat spaces. A small always-on poller with a pinnable web editor: click the link in your space, add or edit feeds, Save \u2014 live within one poll cycle. Per-feed dedup handles both news feeds (post once) and status pages (re-post on updates).", "tags": [ "rss",
page.json+1−1@@ -2,7 +2,7 @@ "slug": "adom-rss-gchat", "title": "RSS to Google Chat", "type": "app",- "version": "1.6.1",+ "version": "1.7.0", "description": "Post new RSS feed items straight into your Google Chat spaces. A small always-on poller with a pinnable web editor: click the link in your space, add or edit feeds, Save — live within one poll cycle. Per-feed dedup handles both news feeds (post once) and status pages (re-post on updates).", "tags": [ "rss",