diff --git a/astro.config.mjs b/astro.config.mjs index fb9174bf..2cb7056f 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -248,17 +248,17 @@ export default defineConfig({ }, sidebar: [ { - label: "Home", - link: "/", - }, - { - label: "Common Use Cases", - link: "/common-use-cases", + label: "Getting Started", + link: "/getting-started", }, { label: "Feed Directory", link: "/feed-directory/", }, + { + label: "Create Custom Feeds", + link: "/creating-custom-feeds", + }, { label: "Web Application", collapsed: true, @@ -299,10 +299,6 @@ export default defineConfig({ }, ], }, - { - label: "Write Your Own Feed Configs", - link: "/creating-custom-feeds", - }, { label: "About", link: "/about", @@ -312,11 +308,6 @@ export default defineConfig({ collapsed: false, autogenerate: { directory: "get-involved" }, }, - { - label: "Troubleshooting", - collapsed: true, - autogenerate: { directory: "troubleshooting" }, - }, ], defaultLocale: "root", locales: { diff --git a/src/components/docs/AutoGenerationOptional.astro b/src/components/docs/AutoGenerationOptional.astro new file mode 100644 index 00000000..35039fc9 --- /dev/null +++ b/src/components/docs/AutoGenerationOptional.astro @@ -0,0 +1,8 @@ +--- +import { Aside } from "@astrojs/starlight/components"; +--- + + diff --git a/src/components/docs/MinimalDockerCompose.astro b/src/components/docs/MinimalDockerCompose.astro new file mode 100644 index 00000000..ebc0001c --- /dev/null +++ b/src/components/docs/MinimalDockerCompose.astro @@ -0,0 +1,33 @@ +--- +import Code from "astro/components/Code.astro"; + +const code = `services: + html2rss-web: + image: gilcreator/html2rss-web + restart: unless-stopped + ports: + - "127.0.0.1:3000:3000" + volumes: + - type: bind + source: ./feeds.yml + target: /app/config/feeds.yml + read_only: true + environment: + RACK_ENV: production + HEALTH_CHECK_USERNAME: health + HEALTH_CHECK_PASSWORD: CHANGE_THIS_PASSWORD_BEFORE_USE + BROWSERLESS_IO_WEBSOCKET_URL: ws://browserless:3001 + BROWSERLESS_IO_API_TOKEN: 6R0W53R135510 + + browserless: + image: "ghcr.io/browserless/chromium" + restart: unless-stopped + ports: + - "127.0.0.1:3001:3001" + environment: + PORT: 3001 + CONCURRENT: 10 + TOKEN: 6R0W53R135510`; +--- + + diff --git a/src/content/docs/creating-custom-feeds.mdx b/src/content/docs/creating-custom-feeds.mdx index 57d94b71..3814969c 100644 --- a/src/content/docs/creating-custom-feeds.mdx +++ b/src/content/docs/creating-custom-feeds.mdx @@ -19,6 +19,12 @@ When auto-sourcing isn't enough, you can write your own configuration files to c releases](/web-application/reference/versioning-and-releases/) for details. + + --- ## When to Use Custom Configs @@ -35,6 +41,20 @@ When auto-sourcing isn't enough, you can write your own configuration files to c --- +## Recommended Workflow + +1. **Inspect the live page** in your browser developer tools +2. **Write the smallest useful config** that extracts items, titles, and links +3. **Validate the config** with `html2rss validate your-config.yml` +4. **Render the feed** with `html2rss feed your-config.yml` +5. **Add it to `html2rss-web`** so you can use it through your normal instance +6. **Escalate to `browserless`** if the content is rendered by JavaScript + +This order keeps iteration fast and makes it easier to see whether the problem is the page structure, your +selectors, or the fetch strategy. + +--- + ## How It Works A config file is a simple "recipe" that tells html2rss: @@ -82,7 +102,7 @@ This says: "Find each article, get the title from the h2 anchor, and get the lin ## Your First Config -**Step 1:** Look at the website you want to create a feed for. Right-click → "View Page Source" to see the HTML structure. +**Step 1:** Inspect the website you want to create a feed for. Start with your browser's developer tools to inspect the live DOM. "View Page Source" can still help, but it may miss JavaScript-rendered content. **Step 2:** Create a file called `example.com.yml` with this basic structure: @@ -140,6 +160,12 @@ html2rss supports many configuration options: 4. **Check the output:** Make sure all items have titles, links, and descriptions +## Add It To html2rss-web + +Once the config works locally, add it to your `feeds.yml` or shared config repository and restart your +instance. Then open the feed through your normal `html2rss-web` URL and confirm it behaves the same way +there. + --- ## Sharing Your Config @@ -177,6 +203,7 @@ html2rss supports many configuration options: **For Beginners:** - **[Browse the Feed Directory](/feed-directory/)** - See real-world examples +- **[Run html2rss-web with Docker](/web-application/getting-started)** - Use the newest integrated behavior - **[Learn more about selectors](/ruby-gem/reference/selectors/)** - Master CSS selectors - **[Submit your config via GitHub Web](https://github.com/html2rss/html2rss-configs)** - No Git knowledge required! @@ -184,4 +211,5 @@ html2rss supports many configuration options: - **[Browse existing configs](https://github.com/html2rss/html2rss-configs/tree/master/lib/html2rss/configs)** - See real examples - **[Join discussions](https://github.com/orgs/html2rss/discussions)** - Connect with other users +- **[Learn about strategies](/ruby-gem/reference/strategy/)** - Decide when to use `browserless` - **[Learn advanced features](/ruby-gem/how-to/advanced-features/)** - Take your configs to the next level diff --git a/src/content/docs/getting-started.mdx b/src/content/docs/getting-started.mdx index c5a2fcb9..f08de5ba 100644 --- a/src/content/docs/getting-started.mdx +++ b/src/content/docs/getting-started.mdx @@ -5,181 +5,21 @@ sidebar: order: 1 --- -Ready to get RSS feeds from any website? Choose your path below. No technical knowledge required! +This page points to the main onboarding flow. -## Quick Start Options +## Start Here -### Option 1: Use a Public Instance (Easiest) +If you want the recommended path, go to [Run html2rss-web with Docker](/web-application/getting-started). -**Try html2rss right now:** +That guide is the canonical setup flow for: -1. **Go to a public html2rss instance** (see our [community wiki](https://github.com/html2rss/html2rss-web/wiki/Instances) for available instances) -2. **Browse existing feeds** or create auto-sourced feeds from any URL -3. **Copy the RSS URL** and add it to your feed reader -4. **Done!** You're now following the website in your RSS reader +- running `html2rss-web` locally +- confirming your first successful feed +- deciding when to use included feeds, automatic generation, or custom configs -**Perfect for:** Testing, quick feeds, or if you don't want to install anything. +## Quick Shortcuts -### Option 2: Install Your Own Instance - -**For full control and custom feeds:** - -1. **Follow the installation steps below** -2. **Create auto-sourced feeds** from any website -3. **Add custom configs** when you need more control -4. **Run your own RSS feed server** with stable HTTPS URLs - -**Perfect for:** Power users, custom configurations, or when you need reliability. - ---- - -## Installation Guide - -This guide will help you set up your own copy of html2rss-web on your computer. Don't worry - we'll walk you through every step! - -### What You'll Need - -- **Docker** - A tool that makes installation simple (like an app store for server software) -- **About 10 minutes** - The whole process is quick and automated - -**Don't have Docker?** [Install it first](https://docs.docker.com/get-started/) - it's free and works on all major operating systems. - -### Step 1: Create a Folder - -Create a new folder on your computer to store html2rss-web files: - -**Create a new folder** on your computer and name it "html2rss-web". You can do this through your file manager or terminal: - -```bash -mkdir html2rss-web -cd html2rss-web -``` - -### Step 2: Create the Configuration File - -Create a file called `docker-compose.yml` in your new folder. This file tells Docker how to set up html2rss-web with all the features you need. - -**How to create the file:** - -- **Using a text editor:** Create a new file and save it as `docker-compose.yml` -- **Using terminal:** Use any text editor to create the file - -```yaml -services: - html2rss-web: - image: gilcreator/html2rss-web:latest - restart: unless-stopped - ports: - - "127.0.0.1:3000:3000" - volumes: - - type: bind - source: ./feeds.yml - target: /app/config/feeds.yml - read_only: true - environment: - RACK_ENV: production - HEALTH_CHECK_USERNAME: health - HEALTH_CHECK_PASSWORD: CHANGE_THIS_PASSWORD_BEFORE_USE - BROWSERLESS_IO_WEBSOCKET_URL: ws://browserless:3001 - BROWSERLESS_IO_API_TOKEN: 6R0W53R135510 - - watchtower: - image: containrrr/watchtower - restart: unless-stopped - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - "~/.docker/config.json:/config.json" - command: --cleanup --interval 7200 - - browserless: - image: "ghcr.io/browserless/chromium" - restart: unless-stopped - ports: - - "127.0.0.1:3001:3001" - environment: - PORT: 3001 - CONCURRENT: 10 - TOKEN: 6R0W53R135510 -``` - -### Step 3: Download the Feed List - -html2rss-web needs a list of feeds to work with. Download our pre-made list: - -**Download the feeds.yml file:** - -- **Using your browser:** Right-click [this link](https://raw.githubusercontent.com/html2rss/html2rss-web/master/config/feeds.yml) → Save As → Name it "feeds.yml" → Save in your html2rss-web folder -- **Using terminal:** Open Terminal in your html2rss-web folder and run: - -```bash -curl https://raw.githubusercontent.com/html2rss/html2rss-web/master/config/feeds.yml -o feeds.yml -``` - -### Step 4: Start html2rss-web - -Now start html2rss-web: - -**Start html2rss-web:** - -Open a terminal in your html2rss-web folder and run: - -```bash -docker compose up -d -``` - -**That's it!** 🎉 html2rss-web is now running. - -**To verify it's working:** - -1. Open your web browser -2. Go to `http://localhost:3000` -3. You should see the html2rss-web interface with a list of available feeds - -**If you see the interface, congratulations!** You've successfully set up html2rss-web. - ---- - -## Using Your Instance - -### Browse Existing Feeds - -Your html2rss-web instance comes with pre-configured feeds for popular websites. Browse the list and copy any RSS URL to your feed reader. - -### Create Auto-Sourced Feeds - -**Want a feed for a website that's not in the list?** - -1. **Go to your html2rss-web interface** (http://localhost:3000) -2. **Enter any website URL** you want to create a feed for -3. **Click "Generate Feed"** - html2rss will automatically analyze the page -4. **Copy the RSS URL** and add it to your feed reader - -**This works for most websites** without any configuration needed! - -### Add Custom Feeds - -**Need more control?** You can add custom feed configurations to your `feeds.yml` file. See our [Creating Custom Feeds](/creating-custom-feeds) guide for details. - ---- - -## Troubleshooting - -**Common issues when getting started:** - -- **Instance won't start?** Check that Docker is running and the port isn't already in use -- **Can't access the interface?** Make sure you're going to `http://localhost:3000` -- **Auto-sourced feed not working?** Some websites need custom configuration - see our [troubleshooting guide](/troubleshooting/troubleshooting) -- **Need help?** Join our [community discussions](https://github.com/orgs/html2rss/discussions) - ---- - -## Next Steps - -**Ready for more?** - -- **[Browse the Feed Directory](/feed-directory/)** - See real-world examples -- **[Create Custom Feeds](/creating-custom-feeds)** - Learn to write your own configurations -- **[Troubleshooting Guide](/troubleshooting/troubleshooting)** - Solve common issues -- **[Join the Community](https://github.com/orgs/html2rss/discussions)** - Get help and share ideas - -**🎉 Congratulations!** You now have your own RSS feed server running. +- **[Run html2rss-web with Docker](/web-application/getting-started)** - Recommended first step +- **[Browse working feed examples](/feed-directory/)** - See what success looks like +- **[Create Custom Feeds](/creating-custom-feeds)** - Write configs when you need more control +- **[Troubleshooting Guide](/troubleshooting/troubleshooting)** - Fix startup or extraction problems diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index adfe355d..349bccae 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -3,11 +3,21 @@ title: "Turn Any Website Into an RSS Feed - Never Miss Updates Again" description: "Create RSS feeds from any website - no coding required. Turn blogs, news sites, and forums into RSS feeds you can follow in your favorite reader. Free, open source, and easy to use." --- -Ever wished you could follow your favorite websites like a social media feed? The html2rss project makes it possible by creating RSS feeds for any website - even ones that don't offer them. +Run `html2rss-web` with Docker, start with included feeds, and add custom configs only when you need more control. ## 🚀 Get Started in 30 Seconds -**Try it now:** [Browse Ready-Made Feeds](/feed-directory/) | [Get Started](/getting-started) +**Start here:** [Run html2rss-web with Docker](/web-application/getting-started) | [Browse working feed examples](/feed-directory/) + +Need more control? [Write a custom feed config](/creating-custom-feeds) + +--- + +## How It Works + +1. **Run your own local instance** with Docker +2. **Use included feeds or add your own** website targets +3. **Subscribe from your RSS reader** using stable feed URLs --- @@ -34,30 +44,30 @@ Ever wished you could follow your favorite websites like a social media feed? Th ## What is html2rss? -html2rss is a user-friendly tool that turns any website into an RSS feed. Think of it as a translator that converts website content into a format your feed reader can understand. +html2rss is a toolkit for turning websites into RSS feeds. Think of it as a translator that converts website content into a format your feed reader can understand. -**Two ways to use html2rss:** +**Most people should start with the web application:** -- **🌐 Web App** - RSS feed server with auto-sourcing. Perfect for everyone -- **⚙️ Ruby Gem** - The core engine that powers everything +- **🌐 html2rss-web** - The easiest way to run your own feed server with Docker +- **⚙️ html2rss gem** - The underlying engine, CLI, and developer interface --- ## 🎯 Choose Your Path -### I'm Getting Started with RSS +### I want a working instance first -1. **[Get Started](/getting-started)** - Complete guide to using html2rss -2. **[Browse Examples](/feed-directory/)** - See 100+ ready-made feeds -3. **[Learn More](/about/)** - Understand how it all works +1. **[Run html2rss-web with Docker](/web-application/getting-started)** - Recommended starting path +2. **[Browse working feed examples](/feed-directory/)** - See what success looks like +3. **[Use the included configs](/web-application/how-to/use-included-configs/)** - Start with ready-made feeds -### I Want to Create Custom Feeds +### I need more control -1. **[Creating Custom Feeds](/creating-custom-feeds)** - Learn to write your own configs -2. **[Ruby Gem Reference](/ruby-gem/)** - Full technical documentation -3. **[Share Your Configs](/get-involved/contributing/)** - Help the community +1. **[Creating Custom Feeds](/creating-custom-feeds)** - Write and test your own configs +2. **[Selectors Reference](/ruby-gem/reference/selectors/)** - Learn the matching rules +3. **[Strategy Reference](/ruby-gem/reference/strategy/)** - Use `browserless` for JS-heavy sites -### I'm a Developer +### I'm building or integrating 1. **[Ruby Gem Reference](/ruby-gem/)** - Full API documentation 2. **[Advanced Features](/ruby-gem/how-to/advanced-features/)** - Custom HTTP requests, etc. @@ -80,6 +90,12 @@ html2rss is a user-friendly tool that turns any website into an RSS feed. Think ## 🔧 Common Issues? +**Start with Docker, not a public instance.** That gives you the most reliable path and the newest integrated behavior. + **Feed not working?** Check our [troubleshooting guide](/troubleshooting/troubleshooting) + +**Need custom control?** Continue to [Creating Custom Feeds](/creating-custom-feeds) + **Need help?** Join our [community discussions](https://github.com/orgs/html2rss/discussions) + **Found a bug?** [Report it on GitHub](https://github.com/html2rss/html2rss/issues) diff --git a/src/content/docs/web-application/getting-started.mdx b/src/content/docs/web-application/getting-started.mdx index 8205de55..12ac3428 100644 --- a/src/content/docs/web-application/getting-started.mdx +++ b/src/content/docs/web-application/getting-started.mdx @@ -5,36 +5,22 @@ sidebar: order: 2 --- -Ready to create RSS feeds? Choose your path below. No technical knowledge required! +import AutoGenerationOptional from "../../../components/docs/AutoGenerationOptional.astro"; +import MinimalDockerCompose from "../../../components/docs/MinimalDockerCompose.astro"; -## Quick Start Options +Ready to create RSS feeds? Run `html2rss-web` locally with Docker, verify the interface, then use included feeds before you move on to auto-generation or custom configs. -### Option 1: Use a Public Instance (Easiest) +## What You Will Have When This Works -**Try html2rss-web right now:** +After this guide, you should have: -1. **Go to a public html2rss-web instance** (see our [community wiki](https://github.com/html2rss/html2rss-web/wiki/Instances) for available instances) -2. **Enter a website URL** you want to create a feed for -3. **Click "Generate Feed"** and copy the RSS URL -4. **Add to your feed reader** (any RSS reader app) - -**Perfect for:** Testing, quick feeds, or if you don't want to install anything. - -### Option 2: Install Your Own Instance - -**For full control and custom feeds:** - -1. **Follow the installation steps below** -2. **Create custom feeds** for any website -3. **Run your own instance** with all features - -**Perfect for:** Power users, custom configurations, or when you need reliability. - ---- +- `html2rss-web` running at `http://localhost:3000` +- a feed list loaded from `feeds.yml` +- a clear path to either automatic generation or custom YAML configs ## Installation Guide -This guide will help you set up your own copy of html2rss-web on your computer. Don't worry - we'll walk you through every step! +This guide walks you through a local Docker setup that gives you the most reliable starting point. ### What You'll Need @@ -54,52 +40,13 @@ mkdir html2rss-web cd html2rss-web ``` -### Step 2: Create the Configuration File - -Create a file called `docker-compose.yml` in your new folder. This file tells Docker how to set up html2rss-web with all the features you need. - -**How to create the file:** - -- **Using a text editor:** Create a new file and save it as `docker-compose.yml` -- **Using terminal:** Use any text editor to create the file - -```yaml -services: - html2rss-web: - image: gilcreator/html2rss-web - restart: unless-stopped - ports: - - "127.0.0.1:3000:3000" - volumes: - - type: bind - source: ./feeds.yml - target: /app/config/feeds.yml - read_only: true - environment: - RACK_ENV: production - HEALTH_CHECK_USERNAME: health - HEALTH_CHECK_PASSWORD: please-set-YOUR-OWN-veeeeeery-l0ng-aNd-h4rd-to-gue55-Passw0rd! - BROWSERLESS_IO_WEBSOCKET_URL: ws://browserless:3001 - BROWSERLESS_IO_API_TOKEN: 6R0W53R135510 - - watchtower: - image: containrrr/watchtower - restart: unless-stopped - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - "~/.docker/config.json:/config.json" - command: --cleanup --interval 7200 - - browserless: - image: "ghcr.io/browserless/chromium" - restart: unless-stopped - ports: - - "127.0.0.1:3001:3001" - environment: - PORT: 3001 - CONCURRENT: 10 - TOKEN: 6R0W53R135510 -``` +### Step 2: Create a Minimal Configuration File + +Create a file called `docker-compose.yml` in your new folder. Start with the minimal local stack: + + + +Add update automation such as Watchtower later, after the first run works. ### Step 3: Download the Feed List @@ -116,32 +63,37 @@ curl https://raw.githubusercontent.com/html2rss/html2rss-web/master/config/feeds ### Step 4: Start html2rss-web -Now start html2rss-web: - -**Start html2rss-web:** - Open a terminal in your html2rss-web folder and run: ```bash docker compose up -d ``` -**That's it!** 🎉 html2rss-web is now running. +## First Success Check -**To verify it's working:** +At this point, `html2rss-web` should be running. 1. Open your web browser 2. Go to `http://localhost:3000` 3. You should see the html2rss-web interface with a list of available feeds -**If you see the interface, congratulations!** You've successfully set up html2rss-web. +If you see the interface, the setup worked. + +## What To Do First + +1. Open one included feed from the list +2. Copy the RSS URL into your reader +3. Confirm you can subscribe successfully + +That proves the web app, feed config file, and request pipeline are all working together. + + --- ## Next Steps -**Ready to create feeds?** - -- **Browse existing feeds** - Check out what's already available -- **Create your first feed** - Follow our [How-To Guides](/web-application/how-to/) to make custom feeds -- **Need help?** Check our [troubleshooting guide](/troubleshooting/troubleshooting) if something doesn't work +1. **[Use the included configs](/web-application/how-to/use-included-configs/)** - Start with working feeds +2. **[Use automatic feed generation](/web-application/how-to/use-automatic-feed-generation/)** - Enable the quick-generate workflow +3. **[Create Custom Feeds](/creating-custom-feeds)** - Write and test your own configs +4. **[Need help?](/troubleshooting/troubleshooting)** - Troubleshoot startup and extraction problems diff --git a/src/content/docs/web-application/how-to/use-automatic-feed-generation.mdx b/src/content/docs/web-application/how-to/use-automatic-feed-generation.mdx index 020126d8..e19c379e 100644 --- a/src/content/docs/web-application/how-to/use-automatic-feed-generation.mdx +++ b/src/content/docs/web-application/how-to/use-automatic-feed-generation.mdx @@ -34,3 +34,14 @@ docker compose up -d 4. **Get your RSS feed!** html2rss-web will create a feed automatically **That's it!** No configuration files needed - html2rss-web does all the work for you. + +## When to Stop and Switch + +Automatic feed generation is a fast first try, not the final answer for every site. + +Move on to [Creating Custom Feeds](/creating-custom-feeds) when: + +- the generated feed misses important fields +- the wrong items are extracted +- the site needs a stable, reviewable setup +- you need `browserless` or more precise selectors to make the feed reliable diff --git a/src/content/docs/web-application/how-to/use-included-configs.mdx b/src/content/docs/web-application/how-to/use-included-configs.mdx index 1155acac..0d28df6a 100644 --- a/src/content/docs/web-application/how-to/use-included-configs.mdx +++ b/src/content/docs/web-application/how-to/use-included-configs.mdx @@ -11,9 +11,29 @@ html2rss-web comes with hundreds of ready-made feeds for popular websites! No co 2. **Copy the URL** (it looks like `domainname.tld/whatever.rss`) 3. **Add it to your feed reader** - paste the URL and you're done! +## What Success Looks Like + +You are successful when: + +- the feed URL opens from your own `html2rss-web` instance +- your feed reader accepts the URL +- new items appear without you editing any YAML + +If that works, keep using included configs for that site. It is the lowest-maintenance path. + ## Example If you see a config file named `example.com/news.yml`, you can access it at: `http://localhost:3000/example.com/news.rss` Just replace `localhost:3000` with your html2rss-web address. + +## When to Move On + +Use a custom config when: + +- the site you want is not in the directory +- the included feed misses fields you care about +- you need a more specific page, section, or output format + +Next step: [Create Custom Feeds](/creating-custom-feeds) diff --git a/src/content/docs/web-application/index.mdx b/src/content/docs/web-application/index.mdx index dfe62b6c..c5826bb7 100644 --- a/src/content/docs/web-application/index.mdx +++ b/src/content/docs/web-application/index.mdx @@ -6,17 +6,29 @@ sidebar: order: 1 --- -This web application scrapes websites to build and deliver RSS 2.0 feeds. It is a powerful tool for creating custom RSS feeds. +`html2rss-web` is the recommended way to get started. Run it locally with Docker, use included feeds first, and move to automatic generation or custom configs only when you need more control. ## Get Started -Our **[Getting Started guide](/web-application/getting-started)** covers essential first steps, from understanding the application to installing your own instance. +Start with **[Getting Started](/web-application/getting-started)** to: + +- run your own local instance +- confirm a first successful feed +- choose the right next step for your site ## Key Features -- **Stable URLs:** Provides stable URLs for automatically sourced feeds. -- **Custom Feeds:** Create custom feeds. -- **Feed Directory:** Includes many [feeds](https://github.com/html2rss/html2rss-configs) out of the box. -- **Caching:** Handles request caching and sets HTTP headers. +- **Stable URLs:** Provides stable URLs for feeds served from your own instance +- **Included Feeds:** Start with many working configs out of the box +- **Automatic Generation:** Try new sites quickly when the feature is enabled +- **Custom Feeds:** Create and refine your own configs when you need more control +- **Caching:** Handles request caching and sets HTTP headers The functionality of scraping websites and building the RSS feeds is provided by the Ruby gem [`html2rss`](https://github.com/html2rss/html2rss). + +## Recommended Flow + +1. **[Getting Started](/web-application/getting-started)** - Run the app locally +2. **[Use the included configs](/web-application/how-to/use-included-configs/)** - Confirm a working feed first +3. **[Use automatic feed generation](/web-application/how-to/use-automatic-feed-generation/)** - Try unsupported sites quickly +4. **[Create Custom Feeds](/creating-custom-feeds)** - Build a stable custom setup when needed