From 1740bac6d55f1de53f033e548d641f09981c0b17 Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Sat, 5 Sep 2026 13:38:36 +0200 Subject: [PATCH] docs: reshape hero path into Getting Started funnel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Point readers through Docker auto-source quickstart → deployment → advanced feeds; fold MCP/CLI/skill docs onto the same path and redirect legacy /web-application/getting-started/. --- AGENTS.md | 18 +- astro.config.mjs | 25 +- .../docs/DockerComposeSnippet.astro | 3 +- src/content/docs/common-use-cases.mdx | 2 +- src/content/docs/creating-custom-feeds.mdx | 236 ++++-------------- src/content/docs/feed-directory/index.mdx | 2 +- .../docs/get-involved/contributing.mdx | 2 +- src/content/docs/getting-started.mdx | 65 +++-- src/content/docs/index.mdx | 53 ++-- .../ruby-gem/guides/advanced-features.mdx | 2 +- .../ruby-gem/guides/ai-agent-workflows.mdx | 102 +++----- .../guides/backward-compatibility.mdx | 6 +- .../guides/capturing-feed-configs.mdx | 8 +- .../ruby-gem/guides/custom-http-requests.mdx | 2 +- .../ruby-gem/guides/dynamic-parameters.mdx | 2 +- .../ruby-gem/guides/managing-feed-configs.mdx | 10 +- .../docs/ruby-gem/reference/auto-source.mdx | 6 +- .../docs/ruby-gem/reference/cli-reference.mdx | 54 ++-- .../docs/ruby-gem/reference/mcp-server.mdx | 174 +++++-------- .../docs/ruby-gem/reference/strategy.mdx | 4 +- .../ruby-gem/tutorials/your-first-feed.mdx | 4 +- .../docs/troubleshooting/troubleshooting.mdx | 4 +- src/content/docs/web-application/concepts.mdx | 48 ++++ .../docs/web-application/deployment.mdx | 135 +++++----- .../docs/web-application/getting-started.mdx | 107 -------- src/content/docs/web-application/index.mdx | 52 ++-- 26 files changed, 431 insertions(+), 695 deletions(-) create mode 100644 src/content/docs/web-application/concepts.mdx delete mode 100644 src/content/docs/web-application/getting-started.mdx diff --git a/AGENTS.md b/AGENTS.md index 2443448d..37c2c83f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -86,18 +86,18 @@ Preferred verification flow for docs/content changes: ### User Journey Funnel -Maintain a directed "funnel" for documentation to maximize user success and conversion: +Keep docs pointed along one success path: -1. **Phase 1: Quickstart (Local Demo)** — The primary entry point. Run `html2rss-web` with Docker and generate a feed from a page URL in minutes. -2. **Phase 2: Production (Deployment)** — The goal for invested users. Move to a stable, production-ready instance. -3. **Phase 3: Refinement (Custom Configs)** — Secondary optimization. Author custom YAML configs only when automatic generation needs precise control. +1. **Getting Started** — Run `html2rss-web` with Docker; paste a page URL; open the generated feed. +2. **Deployment** — Production compose, tokens, LAN HTTP vs HTTPS reverse proxy. +3. **Advanced Feeds** — Custom YAML only when auto-source needs precise control (escape hatch). -**Rules for Funnel Maintenance:** +**Rules:** -- Avoid branching paths in introductory pages; always point toward the next phase in the funnel. -- Define "html2rss-web" as the primary interface and "page-to-RSS" as the primary workflow. -- Use "Feed Directory" consistently to refer to the pre-built feed catalog; avoid terms like "catalog", "included feeds", or "packaged configs" in user-facing docs. -- Do not introduce new terminology (e.g., "toolkit") or unrelated infrastructure concepts (e.g., "custom domains") unless they are essential to a specific guide. +- Introductory pages hand off to the next step; do not fork the reader into parallel “primary” paths. +- `html2rss-web` is the primary interface; page-URL auto-source is the primary workflow. +- Say **Feed Directory** for the curated feed list; avoid “catalog”, “included feeds”, or “packaged configs” in user-facing copy. +- Do not invent product terms or infrastructure side quests unless a specific operator guide needs them. ### Code Snippets diff --git a/astro.config.mjs b/astro.config.mjs index 81b8a06d..3fd7913f 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -13,6 +13,7 @@ export default defineConfig({ "/components/html2rss": "/ruby-gem/", "/components/html2rss-configs": "/creating-custom-feeds/", "/components": "/", + "/web-application/getting-started/": "/getting-started/", "/web-application/how-to/deployment": "/web-application/deployment/", "/web-application/how-to/automatic-updates": "/web-application/deployment/", "/web-application/how-to/use-automatic-feed-generation": @@ -267,15 +268,10 @@ export default defineConfig({ link: "/feed-directory/", }, { - label: "Create Custom Feeds", - link: "/creating-custom-feeds/", - }, - { - label: "Web Application", - collapsed: true, + label: "Self-Hosting & Deployment", + collapsed: false, items: [ "web-application", - "web-application/getting-started", "web-application/deployment", { label: "Guides", @@ -288,7 +284,20 @@ export default defineConfig({ ], }, { - label: "Ruby Gem", + label: "How It Works", + link: "/web-application/concepts/", + }, + { + label: "AI Agent Workflows & MCP", + collapsed: false, + items: ["ruby-gem/guides/ai-agent-workflows", "ruby-gem/reference/mcp-server"], + }, + { + label: "Advanced Feeds", + link: "/creating-custom-feeds/", + }, + { + label: "Ruby Gem & CLI", collapsed: true, items: [ "ruby-gem", diff --git a/src/components/docs/DockerComposeSnippet.astro b/src/components/docs/DockerComposeSnippet.astro index f8b58ebd..5a8bd437 100644 --- a/src/components/docs/DockerComposeSnippet.astro +++ b/src/components/docs/DockerComposeSnippet.astro @@ -13,9 +13,10 @@ const snippets: Record = { html2rss-web: image: ${webImage} ports: - - "127.0.0.1:4000:4000" + - "4000:4000" environment: RACK_ENV: development + AUTO_SOURCE_ENABLED: "true" HTML2RSS_ACCESS_TOKEN: CHANGE_ME_ADMIN_TOKEN BOTASAURUS_SCRAPER_URL: http://botasaurus:4010 diff --git a/src/content/docs/common-use-cases.mdx b/src/content/docs/common-use-cases.mdx index 931b1a8a..9ee56f75 100644 --- a/src/content/docs/common-use-cases.mdx +++ b/src/content/docs/common-use-cases.mdx @@ -91,6 +91,6 @@ Follow multiple open source projects and their updates. ## Next Steps -- **[Run html2rss-web with Docker](/web-application/getting-started/)** to verify your own instance. +- **[Run html2rss-web with Docker](/getting-started/)** to verify your own instance. - **[Use automatic feed generation](/web-application/guides/use-automatic-feed-generation/)** when you want direct page-URL conversion. - **[Create custom feeds](/creating-custom-feeds/)** when you need stable, reviewable extraction rules. diff --git a/src/content/docs/creating-custom-feeds.mdx b/src/content/docs/creating-custom-feeds.mdx index f9651a0c..31b098d2 100644 --- a/src/content/docs/creating-custom-feeds.mdx +++ b/src/content/docs/creating-custom-feeds.mdx @@ -1,81 +1,38 @@ --- -title: "Creating Custom Feeds" -description: "Learn to write custom YAML configurations for RSS feeds when auto-sourcing isn't enough." +title: "Advanced Feeds (Escape Hatch)" +description: "Write YAML configs when auto-source is not enough; mount feeds.yml; contribute to html2rss-configs." sidebar: order: 2 --- import { Aside, Code } from "@astrojs/starlight/components"; -When existing feeds or auto-sourcing are not enough, write a YAML config for the site you want to follow. +Prefer [Getting Started](/getting-started/) (URL paste) and the [Feed Directory](/feed-directory/) first. Use a custom YAML config when auto-source misses items you care about, or when you need reviewable selectors. -**Prerequisites:** You should be familiar with the [Getting Started](/getting-started/) guide before diving into custom configurations. - -