Commit Graph
36 Commits
Author SHA1 Message Date
4grayandClaude Fable 5.1 70fff19977 fix(website): inject the fallback version instead of importing package.json
`website:lint` failed on master since the per-OS download pages landed:
`src/lib/downloads.ts` imported the workspace root `package.json` through a
relative path, which `@nx/enforce-module-boundaries` rejects ("external
resources cannot be imported using a relative or absolute path").

The value is only needed as a build-time constant for the offline fallback,
so `astro.config.mjs` now reads the root manifest through the file system
and injects `__IPTVNATOR_VERSION__` via Vite `define`; `downloads.ts` uses
that constant and `src/env.d.ts` declares its type. Verified with
`WEBSITE_SKIP_RELEASE_FETCH=1`: the built download pages link the
`iptvnator-<version>` assets and no define literal leaks into the output.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-03 21:47:01 +02:00
4grayandClaude Fable 5.1 90d26d499f feat(website): add the Xtream Codes setup guide with FAQ and guide screenshots
Publish "How to Add an Xtream Codes Account to IPTVnator" as the first
evergreen guide: what the server URL, username and password are, the
Add playlist flow with the connection test and its four verdicts, the
Auto-detect method for pasted provider messages, what the import syncs,
Account info, refresh, troubleshooting and a seven-question FAQ. The
guide is cross-linked from the three download pages and llms.txt.

Blog posts gain an optional `faq` frontmatter list: BlogPost.astro
renders it as an accordion after the body and emits FAQPage JSON-LD
next to the BlogPosting entry. LinkCards and PostButton keep internal
links in the same tab.

Guide screenshots come from the release capture script: manifest shots
may carry a `group`, `--group guides` captures only those into
apps/website/public/blog/guides/screenshots/, and a release run skips
them. New setup actions open the Add playlist dialog with the mock's
fictional Xtream credentials (connection test shown), the Auto-detect
method with a labeled hand-out, and the Xtream Live TV view. Dialog
helpers and fixture identities move into shared modules so the driver
and the navigation actions cannot import each other cyclically.

tools/testing/website-guides.test.mjs checks the FAQPage schema, the
download-hub link and the shipped screenshots of every guide;
screenshot-guards.test.mjs covers group validation and output routing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-03 21:14:59 +02:00
4grayandClaude Fable 5.1 078bd07d94 feat(website): add per-OS download landing pages
Add /download/ with Windows, macOS and Linux landing pages: OS-specific
install steps, requirements, feature list, FAQ, related posts and a
platform switcher, plus SoftwareApplication / FAQPage / BreadcrumbList
JSON-LD on every page.

Direct asset links resolve the latest published release from the GitHub
Releases API at build time (asset names, sizes, publish date) and fall
back to the root package.json version when the API is unreachable;
WEBSITE_SKIP_RELEASE_FETCH=1 forces the fallback. The deploy workflow
passes GITHUB_TOKEN to the build. The homepage download cards and the
header Download link now point at the new pages, the homepage schema
reads the resolved version instead of a hard-coded 0.20.0, and the
locale count is corrected to 19.

tools/testing/website-download-pages.test.mjs checks titles, canonicals,
direct asset links, structured data, cross-links and sitemap entries of
the built output; nx test website runs it beside the Giscus test.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-03 13:08:53 +02:00
4grayandClaude Fable 5.1 fd963bb0c5 docs(website): restructure the v0.23 release post around highlights
The published post was the raw release-notes scaffold: 42 feature and 76 fix
bullets in area-prefixed inventory form, with the four highlight sections
buried after the feature list. Rework it into the v0.22 shape: a "What
changed" table, the four highlights first and expanded, themed
improved/fixed sections with one-line entries, and the long tail of fixes
under a Spoiler. Every PR/issue reference from the original is preserved;
open text drops from 6.7k to 3.4k words.

Spoiler.astro sits inside `not-prose`, so lists rendered without markers
and links in body colour; give its content list, link, strong and code
styling so grouped lists inside it read like the rest of the post.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-03 13:08:09 +02:00
4grayandClaude Fable 5 f52337d05e docs(website): publish v0.23 release notes post
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-30 10:43:51 +02:00
4grayandClaude Fable 5 42e7d15d55 chore(release): add v0.23 announcement banner
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-30 10:42:11 +02:00
4grayandClaude Fable 5 86ee7edcd8 chore(release): v0.23.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-30 10:05:26 +02:00
4gray d6a9c23148 chore(deps): coordinated security sweep for open Dependabot alerts (#1475) 2026-08-23 13:56:00 +02:00
4grayandClaude Opus 5 2d8e8d77cb fix(website): point web app CTAs at the Docker self-hosting docs
The hosted PWA at iptvnator.vercel.app is paused because the free plan's
bandwidth quota is exhausted, so both "web app" CTAs led to a dead page.
Link them to docker/README.md and reword them around self-hosting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 09:50:03 +02:00
4gray dac0dfdb6c docs(website): add unofficial sites post cover 2026-08-02 12:10:02 +02:00
4gray d8b07ecd5b fix(website): refresh landing screenshots 2026-08-02 11:44:19 +02:00
4grayandClaude Opus 4.8 df01b738c0 feat(website): use full app screenshot for hero, drop mock window chrome
Swap the hero image to screenshots/screenshot-player.webp (channel list,
live player, EPG). The screenshot already includes the app's own window
controls, so remove the decorative title bar (traffic lights + label);
keep the rounded frame, glow, and scanline. Delete the now-unused
hero-dark.png.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 23:13:06 +02:00
4grayandClaude Opus 4.8 73b7905668 docs(website): warn about unofficial IPTVnator sites; tidy README languages
- Add blog post warning about scam sites misusing the IPTVnator name to
  sell IPTV services or push suspicious downloads (official sources + safety)
- Add "official sources only" callout to README linking to the post
- Replace enumerated language list with a count (18) linking to i18n files

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 22:36:47 +02:00
4grayandClaude Fable 5 6a867667ca docs(website): note Linux embedded MPV package support in v0.22 post
Clarify that embedded MPV on Linux is x64-only, needs system mpv on PATH
under X11/Xwayland, works on .deb/pacman/RPM/AppImage, and is not offered
on Flatpak/Snap sandboxes. Links to the README support matrix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 17:03:54 +02:00
4grayandClaude Fable 5 9e62d9163c docs(website): add v0.22 release notes blog post
Announce the v0.22 release: opt-in TMDB metadata enrichment, redesigned
two-state VOD/series detail pages, embedded MPV on Windows and Linux, a
built-in desktop auto-updater, global search, and the reworked live EPG
timeline. Includes compressed hero/slider imagery and a disclaimer that
IPTVnator ships no content and is a pure player.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 16:59:05 +02:00
4gray 738397c9ed feat(website): add giscus blog comments 2026-05-20 18:02:19 +02:00
4gray 3096115e64 docs: add external players playback article 2026-05-20 15:35:38 +02:00
4gray d24c77a143 chore(nx): enforce scoped workspace boundaries (#942) 2026-05-15 09:59:06 +02:00
4gray e7db920543 fix(settings): clarify external player path hints (#929)
* fix(settings): clarify external player path hints

* fix(settings): gate external player hints to desktop
2026-05-12 19:49:14 +02:00
4gray ce0e61a92d docs: publish embedded MPV macOS blog post 2026-05-11 20:44:01 +02:00
4grayandClaude Opus 4.7 f9843fcb0c docs(blog): add release notes for IPTVnator v0.21
Covers the embedded MPV player on macOS, toggleable Live TV sidebars,
command palette upgrades, and module fixes. Credits the Telegram tip
about using IINA as the external player and links the related GitHub
issues.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:39:23 +02:00
4gray 16fede1180 docs(blog): add favicon
Entire-Checkpoint: c6e522b4276c
2026-04-27 00:24:23 +02:00
4gray 95e2a43626 docs(blog): add release notes for IPTVnator v0.20
Entire-Checkpoint: c6e522b4276c
2026-04-26 17:12:44 +02:00
4gray 1609260891 docs(blog): update software version to 0.20.0 in blog schema
Entire-Checkpoint: c6e522b4276c
2026-04-26 17:12:19 +02:00
4gray fa8f719c74 docs(screenshots): update and add new screenshots for enhanced documentation
Entire-Checkpoint: c6e522b4276c
2026-04-26 17:11:24 +02:00
4gray 1136e9abac ci(flatpak): add Flatpak support with metainfo and asset validation
Entire-Checkpoint: 21b9b9f90f23
2026-04-12 12:13:05 +02:00
4gray 61d34aef7a chore: switch to pnpm 2026-02-19 23:08:36 +01:00
4gray 78492df316 docs(blog): add v0.19 release blogpost and associated images 2026-02-19 19:01:23 +01:00
4gray c7c4831aae chore(website): enhance FeatureGrid component with improved styling and animations for hero and carousel features
Entire-Checkpoint: 7a30eb9285b7
2026-02-15 23:38:19 +01:00
4gray 976d291261 chore(website): improve layout and styling for DownloadCTA and Hero components for mobile version
Entire-Checkpoint: 033757b19995
2026-02-15 23:21:07 +01:00
4gray 7931127aa6 chore(website): enhance SEO with structured data and meta tags in various components 2026-02-15 01:22:59 +01:00
4gray bdf0e3265a chore(website): add BlogImageSlider component and demo usage in blog components 2026-02-15 01:18:39 +01:00
4gray 69db46e122 chore(website): add reusable blog components including IconFeatureGrid, ImageGallery, LinkCards, PostButton, ReleaseMeta, Spoiler, StatusPill, StepRail, TerminalBlock
- Introduced new components for blog posts to enhance UI and functionality.
- Added support for featured posts and draft visibility in blog collections.
- Created demo blog post to showcase new components and their usage.
- Updated existing blog posts to utilize new components and improve content presentation.
2026-02-15 01:11:07 +01:00
4gray d19ae82e72 chore(website): add support section with SVG illustration and footer watermark
- Introduced a new SVG illustration for supporting open-source software.
- Added a footer watermark image to enhance the visual design of the footer.
- Created a new SupportSection component to encourage user contributions with links to GitHub Stars, GitHub Sponsors, and Ko-fi.
- Updated the Hero component to include a mascot image and social links for GitHub, Telegram, and Ko-fi.
- Enhanced the FeatureGrid and Footer components with improved styling and layout adjustments.
- Updated blog post metadata for better formatting and added a disclaimer in the SupportSection.
- Improved global CSS styles for buttons and animations to create a more engaging user experience.

Entire-Checkpoint: b7a1c2f08179
2026-02-15 00:33:42 +01:00
4gray 59581bd890 chore: add @tailwindcss/typography package and update dependencies
- Added @tailwindcss/typography version 0.5.19 to package.json
- Updated pnpm-lock.yaml to include @tailwindcss/typography with its dependencies
- Updated sass version from 1.97.1 to 1.90.0 in pnpm-lock.yaml
2026-02-14 22:32:16 +01:00
4grayandClaude Opus 4.6 3dc3794ac2 feat(website): add Astro landing page and blog with cinematic broadcast design
Create a new IPTVnator website using Astro 5 + Tailwind CSS within the Nx monorepo.
Features include a landing page with hero section, feature grid with auto-scrolling
carousel, screenshot showcase, download CTA, blog with MDX content collections,
and a GitHub Pages deployment workflow. Design uses a cinematic broadcast aesthetic
with TV-effect hover animations, Playfair Display serif typography, and warm dark
surfaces. Also fixes .gitignore to cover nested node_modules directories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 8171359f42f3
2026-02-14 19:47:47 +01:00