diigo-week: draft a potluck issue from a week of diigo bookmarks
An EmDash plugin (native, content:write only) with one admin page: a diigo username and an ISO week. It reads diigo-cache's public page (?in=<week>&by=created) as microformats, follows rel=next, and creates a draft in issues shaped like seed/issues.json. Transport is a DIIGO_CACHE service binding rather than ctx.http.fetch: EmDash's SSRF guard refuses localhost, and the binding names one worker. Logic lives in src/week.ts with the fetcher passed in; tests read fixtures in diigo-cache's markup. The checklist's goal 2 now names potluck; DiigoBridge waits. Generated-by: Claude Opus 5.5
This commit is contained in:
1 parent
be796d9d0d
commit
94a059af25
17 files changed
+6705
-22
No files matched your search
@@ -0,0 +1,21 @@
|
||||
# diigo-week
|
||||
|
||||
An EmDash plugin that drafts a potluck issue from a week of your shared diigo bookmarks. It reads them as microformats from diigo-cache's public page, so you edit a draft instead of copy-pasting links.
|
||||
|
||||
## Getting started
|
||||
|
||||
Run diigo-cache (with a filled public cache) and potluck, each in its own terminal:
|
||||
|
||||
```sh
|
||||
pnpm install
|
||||
(cd ../diigo-cache && pnpm dev) # → http://localhost:8787/
|
||||
(cd ../potluck && pnpm dev) # → http://localhost:4321/_emdash/admin
|
||||
```
|
||||
|
||||
In potluck's admin: Plugins → **Draft from diigo** → **Draft issue**. The draft shows up under Issues.
|
||||
|
||||
## How it reads the week
|
||||
|
||||
It asks diigo-cache for `/public/<user>?in=<week>&by=created` over the `DIIGO_CACHE` service binding (potluck's `wrangler.jsonc`), reads the page's `h-feed` of `h-entry` bookmarks, follows `rel=next`, and creates a draft in `issues`: title, week, dek, and a paragraph per bookmark with its description and tag links, as in potluck's `seed/issues.json`. The binding is its only reach outside the site; it declares `content:write` and `taxonomies:write` (the issue gets its bookmarks' tags, as the sample issues do), nothing else.
|
||||
|
||||
Checks: `pnpm lint && pnpm test`.
|
||||
Reference in new issue
Block a user