Anime covers come from AniList, which has no live-action titles, so dramas and movies showed blank cards with no description and split across season folders. Library entries now carry a media kind plus a TMDB link, and the cover-art fetcher falls back to TMDB when AniList has no match, accepting only a Japanese non-animated title whose TMDB names match the parsed title exactly. Entries that resolve to the same TMDB title merge into one card regardless of season, and a Link to TMDB action in the detail view covers anything the automatic match missed. Release builds bundle a project-owned TMDB key injected from the SUBMINER_TMDB_API_KEY secret at build time; tmdb.apiKey/apiKeyCommand override it and are required when running from source. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
SubMiner docs
In-repo VitePress documentation source for SubMiner.
Internal architecture/workflow source of truth lives in docs/README.md at the repo root. Keep docs-site/ user-facing.
Local development
bun --cwd docs-site install
bun run docs:dev
Build and preview:
bun run docs:build
bun run docs:preview
bun run docs:test
Direct package commands still work from docs-site/ if you prefer:
cd docs-site
bun install
bun run docs:dev
Cloudflare Pages
- Git repo:
ksyasuda/SubMiner - Production branch:
main - Automatic production and preview deployments: disabled
- Custom domain:
docs.subminer.moeattached to Production - Deployment path: GitHub Actions direct upload with Wrangler
The public docs root is stable-only:
/serves the latest stable release docs./main/serves development docs frommain./v/<version>/serves stable release archives.- Prerelease tags do not update the docs site.
Only / is indexable. /main/ and every /v/<version>/ page carries a self-referential canonical plus noindex,follow, and the generated _headers file repeats that as an X-Robots-Tag. They stay crawlable so their links still resolve, but ~30 archived copies of every page would otherwise consume the crawl budget the current docs need. Only the root build emits sitemap.xml, and its <lastmod> dates come from git log against the tracked checkout at the released tag, because the build renders from an untracked snapshot that VitePress cannot date itself.
Keep Cloudflare Git auto-deploy disabled. The production deploy is .github/workflows/docs-pages.yml, which uploads .tmp/docs-versioned-site with --branch main so tag-triggered runs update Production instead of creating preview deployments.