{"id":51118887,"url":"https://github.com/detain/phlix-website","last_synced_at":"2026-06-25T00:30:26.706Z","repository":{"id":359067311,"uuid":"1244371800","full_name":"detain/phlix-website","owner":"detain","description":"Marketing site for Phlix — self-hostable PHP media server with Roku, Tizen, Windows, and Mobile clients. Ships five concurrent brand-themed design variants (minimalist cinema, spotlight projector, retro film reel, portal hub, pixel-tech).","archived":false,"fork":false,"pushed_at":"2026-06-04T03:06:57.000Z","size":7733,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-04T04:18:36.112Z","etag":null,"topics":["accessibility","brand-design","css3","emby-alternative","html5","javascript","jellyfin-alternative","landing-page","marketing-site","media-server","multi-theme","open-source","phlix","plex-alternative","responsive-design","self-hosted","seo","static-site","streaming"],"latest_commit_sha":null,"homepage":"https://detain.github.io/phlix-website/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/detain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-20T07:50:36.000Z","updated_at":"2026-06-04T03:07:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/detain/phlix-website","commit_stats":null,"previous_names":["detain/phlix-website"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/detain/phlix-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detain%2Fphlix-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detain%2Fphlix-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detain%2Fphlix-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detain%2Fphlix-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/detain","download_url":"https://codeload.github.com/detain/phlix-website/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/detain%2Fphlix-website/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34755061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","brand-design","css3","emby-alternative","html5","javascript","jellyfin-alternative","landing-page","marketing-site","media-server","multi-theme","open-source","phlix","plex-alternative","responsive-design","self-hosted","seo","static-site","streaming"],"created_at":"2026-06-25T00:30:25.974Z","updated_at":"2026-06-25T00:30:26.694Z","avatar_url":"https://github.com/detain.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# phlix-website\n\n[![Pages](https://github.com/detain/phlix-website/actions/workflows/pages.yml/badge.svg)](https://github.com/detain/phlix-website/actions/workflows/pages.yml)\n[![Lint](https://github.com/detain/phlix-website/actions/workflows/lint.yml/badge.svg)](https://github.com/detain/phlix-website/actions/workflows/lint.yml)\n[![Link Check](https://github.com/detain/phlix-website/actions/workflows/linkcheck.yml/badge.svg)](https://github.com/detain/phlix-website/actions/workflows/linkcheck.yml)\n\nThe marketing / landing site for **[Phlix](https://github.com/detain/phlix-server)** — a self-hostable PHP media server with native clients for Roku, Samsung Tizen, Windows, and Mobile.\n\nThis repo ships **five concurrent design variants**, one per brand-identity concept in `phlix-server/docs/brand/`. Each variant lives in its own subtree under `variants/` and consumes the same shared content from `shared/content.json`, so they differ in visual language only.\n\n| # | Variant | Brand kit | Vibe | Live Preview |\n|---|---------|-----------|------|-------------|\n| 01 | [`minimalist-cinema-1`](variants/01-minimalist-cinema-1/) | Minimalist Cinema V1 (Ultra-Minimal) | Ultra-minimal, electric blue, single-column | https://detain.github.io/phlix-website/01-minimalist-cinema-1/ |\n| 02 | [`spotlight-projector-1`](variants/02-spotlight-projector-1/) | Projector Beam | Cinematic, premium, gold + black | https://detain.github.io/phlix-website/02-spotlight-projector-1/ |\n| 03 | [`retro-film-reel-1`](variants/03-retro-film-reel-1/) | Film Reel Badge | Nostalgic, friendly, red + cream + teal — Classic Diner | https://detain.github.io/phlix-website/03-retro-film-reel-1/ |\n| 04 | [`portal-hub-1`](variants/04-portal-hub-1/) | Portal Ring | Futuristic, glassmorphic, neon cyan + magenta | https://detain.github.io/phlix-website/04-portal-hub-1/ |\n| 05 | [`05-pixel-tech-1`](variants/05-pixel-tech-1/) | Pixel→Smooth | Cyberpunk, developer-energy, neon green + black | https://detain.github.io/phlix-website/05-pixel-tech-1/ |\n\n## Quick start\n\n```bash\nnpm install\nnpm run dev:01     # preview the minimalist-cinema variant at http://localhost:5173\nnpm run preview    # serve all five side-by-side at http://localhost:5174/\u003cvariant\u003e/\nnpm run build      # produce static dist/ with all variants under dist/\u003cvariant\u003e/\nnpm run test       # lint + link check\n```\n\nNo PHP, no backend — the site is pure static HTML/CSS/JS. The Phlix server itself lives in [`detain/phlix-server`](https://github.com/detain/phlix-server).\n\n## Repo layout\n\n```\nphlix-website/\n├── shared/\n│   ├── content.json          single source of marketing copy\n│   ├── data/                 client list, FAQ, feature matrix\n│   └── assets/               brand-neutral icons, screenshots\n├── variants/\u003cNN\u003e-\u003cslug\u003e/\n│   ├── index.html\n│   ├── features.html\n│   ├── clients.html\n│   ├── download.html\n│   ├── plugins.html\n│   ├── docs.html             link-out + summary\n│   ├── about.html\n│   ├── css/\n│   ├── js/\n│   └── img/                  variant-specific brand artwork\n├── reviews/\u003cNN\u003e-\u003cslug\u003e/      review outputs (one md file per dimension)\n├── docs/\n│   ├── PLAN.md               full architecture + agent pipeline\n│   └── HANDOFF_PROMPT.md     paste-into-fresh-session kickoff prompt\n└── .github/workflows/\n    ├── pages.yml             deploy variants to GH Pages\n    ├── lint.yml              html/css/js + a11y\n    └── linkcheck.yml         broken-link sweep\n```\n\n## Brand source of truth\n\nBrand kits, taglines, and prompt language live in\n[`phlix-server/docs/brand/`](https://github.com/detain/phlix-server/tree/master/docs/brand):\n`brand_identity.md`, `logo_concepts.md`, `dash_ui_prompts.md`, `svg_prompts.md`.\nVariants must consume those — do not invent new colors, fonts, or voice.\n\n## Image generation\n\nNo AI image-generation model is currently wired in. SVG and CSS-only artwork is preferred; placeholder images live in `shared/assets/placeholders/` and should be swapped for real renders later. Each variant's `img/` folder includes a `PROMPTS.md` with the exact SVG/Midjourney/DALL·E prompt that should produce the artwork once a model is available.\n\n## Variant Scores (Wave Review Summary)\n\nAll 25 variants scored on 10 dimensions: Accessibility, Branding, Content Quality, CTA Funnel, Localization, Performance, Responsive, SEO, Social Metadata, Usability.\n\n| Variant | Wave 1 (Final) | Wave 2 | Wave 3 | Wave 4 | Wave 5 | Avg |\n|---------|----------------|--------|--------|--------|--------|-----|\n| 01-minimalist-cinema | **80** | 71 | 61 | 79 | 75 | **73.2** |\n| 02-spotlight-projector | **79** | 68 | 72 | **83** | 79 | **76.2** |\n| 03-retro-film-reel | **57** | 78 | FAIL* | 78 | **81** | **73.5** |\n| 04-portal-hub | **78** | 55 | FAIL* | 72 | 76 | **70.3** |\n| 05-pixel-tech | **82** | 62 | FAIL* | 80 | 74 | **74.5** |\n\n\\* Wave 3 variants 03, 04, 05 scored qualitative FAIL due to systematic brand aesthetic mismatches.\n\n**Top performers:** 02-spotlight-projector-4 (83), 05-pixel-tech-1 (82), 03-retro-film-reel-5 (81)\n\n**Full comparison:** See [reviews/COMPARISON.md](reviews/COMPARISON.md)\n\n## Phase I Fixes Applied (2026-05-21)\n- Removed Google Fonts CDN from 01-minimalist-cinema-5, 04-portal-hub-4\n- Fixed brand CSS variables (colors/fonts) in 01-minimalist-cinema-5, 04-portal-hub-4\n- og:image: relative → absolute URLs (97 HTML files)\n- sitemap.xml: root → variant-specific URLs (13 files)\n- Muted text contrast fixed for WCAG AA (01-4, 02-4, 02-5, 03-4)\n- Mobile nav focus trap added to 05-pixel-tech-5\n- og:site_name added to 9 index files, twitter:creator to all 25\n\n## Tooling notes\n\n### Stylelint v17 / `stylelint-config-standard` v40\n\nThe dev stack pins `stylelint@^17`, `stylelint-config-standard@^40`,\nand `stylelint-config-recommended@^18`. **Do not** mix these majors —\nv17 of stylelint requires the v40 / v18 configs; pairing v17 with the\nolder v3x configs surfaces a peer-dep conflict at `npm install` time\nand `npm` will refuse to resolve. If you need to bump stylelint,\nbump all three packages together.\n\n### eslint config\n\n`eslint.config.js` (flat config; `js.configs.recommended` +\n`globals.browser`) runs zero-warning on every variant in `variants/`.\nUnused parameters are silenced via the standard\n`argsIgnorePattern: '^_'` convention — prefix any deliberately-unused\nparameter with `_` rather than disabling the rule inline.\n\n### Node 24\n\n`engines.node` is `\u003e=24`. The CI workflows use Node-24-native action\nmajors (`actions/checkout@v6`, `actions/setup-node@v6`) — the older\n`FORCE_JAVASCRIPT_ACTIONS_TO_NODE24` env shim is no longer needed and\nhas been removed. See\n[`phlix-docs / dev / contributing`](https://detain.github.io/phlix-docs/dev/contributing#ci-github-actions-policy)\nfor the cross-repo action-version policy.\n\n## License\n\nBSD-3-Clause. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdetain%2Fphlix-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdetain%2Fphlix-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdetain%2Fphlix-website/lists"}