diff --git a/apps/website/README.md b/apps/website/README.md index 9ede7d72b..7754a7b35 100644 --- a/apps/website/README.md +++ b/apps/website/README.md @@ -108,6 +108,16 @@ skip shows up in your output. ## Guides +`/guides/` is the task-based entry point: Getting started, Live TV & EPG, +Player & playback, Your library and Updates. `src/lib/guides.ts` owns the +reading order; titles and descriptions come from the existing blog collection, +and article URLs stay at `/blog//`. Add an article's slug to the matching +group when it should appear here. Missing slugs fail the build. Drafts follow +the blog's visibility rule (development mode or `PUBLIC_INCLUDE_DRAFTS=true`), +and preview entries carry a draft label. Updates also links to the latest +published release post. The hub emits CollectionPage and BreadcrumbList data +and is linked from the site header, footer and blog index. + Evergreen how-to posts live in the blog collection next to release notes (`xtream-codes-setup-guide.mdx`, `stalker-portal-setup-guide.mdx`, `m3u-playlist-epg-setup-guide.mdx`, `offline-downloads-guide.mdx`, @@ -156,7 +166,10 @@ Evergreen how-to posts live in the blog collection next to release notes `tools/testing/website-guides.test.mjs` (part of `pnpm nx test website`) checks each guide for the FAQPage schema, a link to the download hub and the presence -of every referenced screenshot in the build output. +of every referenced screenshot in the build output. It also checks the task hub's +grouping, draft visibility, article links, structured data and navigation at +phone, tablet and desktop widths. Run the hub checks against a build made with +`PUBLIC_INCLUDE_DRAFTS=true` using the same environment flag to verify previews. ## Blog Tags diff --git a/apps/website/public/llms.txt b/apps/website/public/llms.txt index f9df7f5ba..634fd4062 100644 --- a/apps/website/public/llms.txt +++ b/apps/website/public/llms.txt @@ -6,6 +6,7 @@ - Website: https://4gray.github.io/iptvnator/ - Blog: https://4gray.github.io/iptvnator/blog/ +- Guides by task: https://4gray.github.io/iptvnator/guides/ - Latest Release: https://github.com/4gray/iptvnator/releases/latest - Downloads overview: https://4gray.github.io/iptvnator/download/ - Download for Windows: https://4gray.github.io/iptvnator/download/windows/ diff --git a/apps/website/src/components/Footer.astro b/apps/website/src/components/Footer.astro index e7edb422e..adc9926fc 100644 --- a/apps/website/src/components/Footer.astro +++ b/apps/website/src/components/Footer.astro @@ -27,6 +27,7 @@ const socialLinks = [ const footerLinks = [ { label: 'Features', href: '/iptvnator/features/' }, + { label: 'Guides', href: '/iptvnator/guides/' }, { label: 'Compare', href: '/iptvnator/compare/' }, { label: 'Download', href: '/iptvnator/download/' }, { label: 'Blog', href: '/iptvnator/blog/' }, diff --git a/apps/website/src/components/Header.astro b/apps/website/src/components/Header.astro index a53dbca87..a384d176f 100644 --- a/apps/website/src/components/Header.astro +++ b/apps/website/src/components/Header.astro @@ -1,6 +1,7 @@ --- const navLinks = [ { label: 'Features', href: '/iptvnator/features/' }, + { label: 'Guides', href: '/iptvnator/guides/' }, { label: 'Compare', href: '/iptvnator/compare/' }, { label: 'Screenshots', href: '/iptvnator/#screenshots' }, { label: 'Download', href: '/iptvnator/download/' }, @@ -28,12 +29,13 @@ const navLinks = [ -