@junglo/zine-maker
v0.1.0
Published
Embeddable <zine-maker> web component: point it at your site's feed (WP REST or RSS/Atom), visitors select posts and download a print-ready zine booklet. Fully client-side; single-file bundle of @junglo/zine-pdf + @junglo/impose.
Maintainers
Readme
@junglo/zine-maker
<zine-maker> — drop one tag into any website and visitors can turn its posts
into a print-ready zine booklet. Fully client-side: feed → select posts →
typeset (@junglo/zine-pdf)
→ impose (@junglo/impose) →
download. No server, no accounts, no tracking.
<script type="module" src="https://cdn.example.com/zine-maker.js"></script>
<zine-maker feed="/wp-json/wp/v2/posts" zine-title="MY ZINE"></zine-maker>Single ES-module bundle (~223 kB gzip, pdf-lib included), framework-agnostic custom element (Svelte 5 inside, invisible outside), Shadow DOM styles themable via CSS custom properties.
Attributes
| Attribute | Default | Notes |
|---|---|---|
| feed | — | WP REST endpoint or RSS/Atom URL — auto-detected from the response |
| zine-title / subtitle | — | title page (omit for none) |
| page-size | A5 | A5 A6 half-letter |
| sheet | A4 | output sheet for the booklet |
| pages-per-side | 2 | 2 4 8 16 |
| booklet | true | false downloads the flat PDF instead |
| proxy | — | CORS proxy prefix for cross-origin demos |
Theming: --zm_accent, --zm_bg, --zm_ink, --zm_border_color,
--zm_radius, --zm_font_family.
Feeds
- WP REST (preferred):
/wp-json/wp/v2/posts— full content;_embedandper_page=50are added automatically. - RSS/Atom: parsed with DOMParser. Excerpt-only entries get a warning badge and start unselected (a zine of teasers is a sad zine).
- Adapter interface is exported (
fetchFeed) for custom sources.
CORS, honestly
The component is designed to live on the same site as the feed — the
primary use case, zero CORS. For cross-origin embeds, supply a proxy you
host. Cross-origin images inside posts render as labeled placeholder frames
for now (raster embedding is the next milestone).
Develop
bun run dev # demo page on a local WP-style feed.json (same-origin)
bun run build # dist/zine-maker.js — the CDN artifact
bun test # feed adapters + a happy-dom mount test of the built bundleLicense
MIT © junglostore
