A public web view of the directory at directory.ipxreader.app #215

Closed
opened 2026-10-12 10:08:03 -07:00 by rays · 2 comments
Owner

directory.ipxreader.app should be browsable in a web browser by anyone, read only, no sign-in: the most subscribed, categories, A to Z, search by name, and a page per feed with its description, latest items and its feed address with a copy button, so it can be subscribed to in any podcast app. The API stays token-only. New UI: mockups on this issue before merge.

directory.ipxreader.app should be browsable in a web browser by anyone, read only, no sign-in: the most subscribed, categories, A to Z, search by name, and a page per feed with its description, latest items and its feed address with a copy button, so it can be subscribed to in any podcast app. The API stays token-only. New UI: mockups on this issue before merge.
rays added the enhancement label 2026-10-12 10:08:03 -07:00
Author
Owner

Built on the branch directory-web (1c6f4eb), not merged or deployed: new UI for approval. Shot against the branch's directory on a scratch database with the 40 most subscribed feeds from production, fetched live.

Home: the ten most subscribed, the categories with counts, and a link to all feeds A to Z. Search by name in the header on every page.

Desktop, dark Phone, light

A category (and All, and search results): Podcasts / Blogs, subcategories, tiles A to Z.

A feed: cover, subscribers, its feed address with Copy (checked: it puts the address on the clipboard and says Copied), its description and latest items, each linking to the publisher's post.

Desktop, dark Phone, light

How it is made:

  • The directory renders the pages itself from its store: no build step, no new service. /v1 keeps its token check; the pages are GET only and change nothing.
  • The publisher's HTML is shown as text (tags stripped), an item's link only when it is http(s), under a Content-Security-Policy that allows only the site's own script and stylesheet. Covers load from their publishers, with no referrer.
  • Light and dark follow the system, in iPX's palette and logo. No horizontal scrolling at 390px on any page (checked).
  • Tests: a router test (pages need no token and show the address; 404s; the API still answers 401 and the pages refuse DELETE), and unit tests for the text and dates.

Not done: covers are not proxied, so a visitor's browser asks each publisher for them (no referrer sent).

On approval I merge and deploy ipx-directory.

Built on the branch `directory-web` (1c6f4eb), **not merged or deployed**: new UI for approval. Shot against the branch's directory on a scratch database with the 40 most subscribed feeds from production, fetched live. **Home**: the ten most subscribed, the categories with counts, and a link to all feeds A to Z. Search by name in the header on every page. | Desktop, dark | Phone, light | |---|---| | ![](https://git.sdf1.net/attachments/60bed304-14a1-4c9d-90b0-86b401b02ef0) | ![](https://git.sdf1.net/attachments/b9de5c26-e0fb-4589-bd55-96c0f8eff437) | **A category** (and All, and search results): Podcasts / Blogs, subcategories, tiles A to Z. ![](https://git.sdf1.net/attachments/b0a2d1bd-623f-4e94-8245-dd7e5eeb365e) **A feed**: cover, subscribers, its feed address with Copy (checked: it puts the address on the clipboard and says Copied), its description and latest items, each linking to the publisher's post. | Desktop, dark | Phone, light | |---|---| | ![](https://git.sdf1.net/attachments/7ab06ffa-1ef3-4ccd-92bc-2c2507b419ab) | ![](https://git.sdf1.net/attachments/5b3ae9dc-5be7-4b8d-9afd-473712febe5d) | How it is made: * The directory renders the pages itself from its store: no build step, no new service. `/v1` keeps its token check; the pages are GET only and change nothing. * The publisher's HTML is shown as text (tags stripped), an item's link only when it is http(s), under a Content-Security-Policy that allows only the site's own script and stylesheet. Covers load from their publishers, with no referrer. * Light and dark follow the system, in iPX's palette and logo. No horizontal scrolling at 390px on any page (checked). * Tests: a router test (pages need no token and show the address; 404s; the API still answers 401 and the pages refuse DELETE), and unit tests for the text and dates. Not done: covers are not proxied, so a visitor's browser asks each publisher for them (no referrer sent). On approval I merge and deploy ipx-directory.
Author
Owner

Approved, merged as 1c6f4eb and deployed: https://directory.ipxreader.app lists all 1463 feeds, each feed page has its address and Copy, and /v1 without a token is still 401.

Approved, merged as 1c6f4eb and deployed: https://directory.ipxreader.app lists all 1463 feeds, each feed page has its address and Copy, and /v1 without a token is still 401.
rays closed this issue 2026-10-12 10:20:32 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#215