尚未检测到更新。GitHub 发布版本后会显示在这里。
Screen 1 showtimes for Picturehouse Finsbury Park & Central, plus official studio trailers from the last 30 days. Nuxt 3 static site, rebuilt daily onto Cloudflare Pages.
翻译准备中
正在加载完整 README。
查看完整 README ↗A statically generated site with five listings tabs - Movies, showing Screen 1 showtimes for Picturehouse Finsbury Park & Picturehouse Central, IMAX, showing every bookable screening at BFI IMAX, What's on, every film from both once with its trailer, summary and booking, Trailers, showing official trailers released by film studios in the last 30 days, and Box Office, showing the UK weekend top 10 - plus an About page.
All API calls happen at build time inside Nitro server routes, so no keys ever reach the browser and the deployed site is plain static HTML.
eslint-plugin-unicorn uses Set.prototype.union)Clone the repository:
git clone https://github.com/Komsomol/pichouse-ssr.git
cd pichouse-ssr
Install dependencies:
npm install
Create .env file (copy from example):
cp .env.example .env
Fill in your API keys in .env:
| Variable | Required | Purpose |
|---|---|---|
TMDB_TOKEN | ✅ | TMDb API Read Access Token (starts eyJ) - film metadata and trailers |
COOKIE | ✅ | Picturehouse website cookie - showtimes |
OMDB_API_KEY | ➖ | Metacritic scores, and fallback trailer lookup when TMDb has no video |
YT_API_KEY | ➖ | YouTube Data API v3 key - powers the Trailers tab |
The build fails without the two required values. Without the optional ones it
still succeeds: the Trailers tab simply renders empty without YT_API_KEY.
npm run dev
Access at: http://127.0.0.1:3000
npm test # single run
npm run test:watch # watch mode
npm run test:coverage # with coverage
npm run lint
npm run lint:fix
npm run generate
Output is in .output/public/. Note that generate, build and dev each run
validate:env and lint first, and generate/build also run the tests - so a
lint error or failing test stops a deploy.
npm run preview
Two GitHub Actions workflows deploy to Cloudflare Pages via Wrangler. See DEPLOYMENT.md for setup details.
| Workflow | Triggers | Behaviour |
|---|---|---|
smart-deploy.yml | 07:37 + 21:37 UTC, manual | Fingerprints the Picturehouse feed and BFI IMAX listings, and only rebuilds when either changed |
deploy.yml | Push to main, manual | Always rebuilds and deploys |
smart-deploy.yml owns the schedule. Its two runs land just after the two daily
BFI IMAX data releases from Clusterflick; deploy.yml covers code changes. It
also re-enables itself through the API on each run, because GitHub disables
scheduled workflows after 60 days without repository activity.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗