Public static endpoint served via GitHub Pages. CatPawPrint apps fetch small JSON / config files from here at runtime — takedown lists, hot configuration, parsers, etc. The repo is public; do not commit secrets, API keys, or anything you wouldn't paste in a public gist.
URL pattern: https://catpawprint.github.io/<app>/<file>
One top-level folder per consumer.
| Folder | Consumer | Purpose |
|---|---|---|
parsers/ |
flutter_image_viewer | git submodule — hot-update parsers (since 2022). |
jigsaw/ |
apps/jigsaw | Runtime config — app_config.json (takedowns, new-content marker, broadcast messages). |
numbercells/ |
(future) | Reserved — NumberCells app runtime config (JSON), like jigsaw/. |
play/number-cells/ |
number-cells (web) | Playable Flutter/Flame web demo — four games (sudoku, slide, calcudoku, binary). Static build; canvaskit via gstatic CDN. Funnel/demo, not config. |
- Edit the JSON file locally.
- Commit with a message that doesn't expose sensitive context (write
remove t1_005rather thant1_005 reported for copyright). git push origin main.- GitHub Pages rebuilds and serves the new content in ~1 minute.
Verify at
https://catpawprint.github.io/<app>/<file>.
- Files served here are cached by GitHub's CDN; clients should also cache locally so an outage (~99.9% uptime, occasional 5-30min outages) doesn't break them.
- Schema versions live inside each JSON (e.g.
"version": 1) so clients can fall back when they see a newer schema. - Commit history is public — be mindful in commit messages.
play/holds full static web-app builds (Flutter web), not config JSON — updated by rebuild + copy, not hand-edited. Kept slim by loading canvaskit from the gstatic CDN (the localcanvaskit/folder is dropped before copying, ~3.8 MB instead of ~41 MB).