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
25 lines
676 B
JavaScript
25 lines
676 B
JavaScript
import cloudflare from "@astrojs/cloudflare";
|
|
import react from "@astrojs/react";
|
|
import { d1, r2 } from "@emdash-cms/cloudflare";
|
|
import { defineConfig } from "astro/config";
|
|
import emdash from "emdash/astro";
|
|
|
|
export default defineConfig({
|
|
output: "server",
|
|
adapter: cloudflare(),
|
|
image: {
|
|
layout: "constrained",
|
|
responsiveStyles: true,
|
|
},
|
|
integrations: [
|
|
react(),
|
|
emdash({
|
|
database: d1({ binding: "DB", session: "auto" }),
|
|
storage: r2({ binding: "MEDIA" }),
|
|
// drafts an issue from a week of diigo bookmarks (../diigo-week)
|
|
plugins: [{ id: "diigo-week", version: "0.1.0", entrypoint: "diigo-week" }],
|
|
}),
|
|
],
|
|
devToolbar: { enabled: false },
|
|
});
|