From 111053e2eac20ea07cb17332f603110b23437df8 Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Wed, 10 Sep 2025 23:20:27 +0200 Subject: [PATCH 1/2] docs: update and provide correct information --- 404.html | 17 ++++++++++++++--- about.md | 2 +- bin/data-update | 4 +--- get-involved/index.md | 2 +- html2rss-configs/index.md | 22 +++++++++------------- ruby-gem/how-to/scraping-json.md | 2 ++ ruby-gem/installation.md | 12 +++++------- ruby-gem/reference/selectors.md | 20 +++++++++++++------- ruby-gem/reference/stylesheets.md | 2 +- 9 files changed, 47 insertions(+), 36 deletions(-) diff --git a/404.html b/404.html index 6098e032..8fb58d46 100644 --- a/404.html +++ b/404.html @@ -3,7 +3,18 @@ layout: default --- -

404

+

404 - Page Not Found

-

Page not found :(

-

The requested page could not be found.

+

Sorry, the page you're looking for doesn't exist.

+ +

Here are some helpful links to get you back on track:

+ + + +

If you think this is an error, please report it on GitHub.

diff --git a/about.md b/about.md index 24ba6587..7e00d5f6 100644 --- a/about.md +++ b/about.md @@ -31,4 +31,4 @@ For insights into our ongoing development, project roadmap, and how you can get `html2rss` is maintained by a dedicated group of volunteers and contributors from around the world. We are passionate about open source and committed to continuously improving the project. -Want to join us? Check out our [Contributing Guide]({{ '/contributing' | relative_url }})! +Want to join us? Check out our [Contributing Guide]({{ '/get-involved/contributing' | relative_url }})! diff --git a/bin/data-update b/bin/data-update index 63ba224b..74690ab3 100755 --- a/bin/data-update +++ b/bin/data-update @@ -16,9 +16,7 @@ def extract_default_parameters(parameters) return {} unless parameters.is_a?(Hash) parameters.each_with_object({}) do |(param_name, param_config), defaults| - if param_config.is_a?(Hash) && param_config['default'] - defaults[param_name] = param_config['default'] - end + defaults[param_name] = param_config['default'] if param_config.is_a?(Hash) && param_config['default'] end end diff --git a/get-involved/index.md b/get-involved/index.md index 787ad020..fae6ba28 100644 --- a/get-involved/index.md +++ b/get-involved/index.md @@ -14,4 +14,4 @@ Engage with the `html2rss` project. Contribute and connect with the community. - [**Project Roadmap**]({{ 'https://github.com/orgs/html2rss/projects/3/views/1' }}): View current work, plans, and priorities. - [**Report Bugs & Discuss Features**]({{ '/get-involved/issues-and-features' | relative_url }}): Report bugs or propose features. - [**Join Community Discussions**]({{ '/get-involved/discussions' | relative_url }}): Connect with users and contributors. -- [**Contribute to html2rss**]({{ '/contributing' | relative_url }}): Contribute code, documentation, or feed configurations. +- [**Contribute to html2rss**]({{ '/get-involved/contributing' | relative_url }}): Contribute code, documentation, or feed configurations. diff --git a/html2rss-configs/index.md b/html2rss-configs/index.md index 36559997..e4a1cad7 100644 --- a/html2rss-configs/index.md +++ b/html2rss-configs/index.md @@ -108,19 +108,6 @@ selectors: ## Advanced Techniques -### Handling Pagination - -To aggregate content from multiple pages, use the `pagination` option within the `items` selector. - -```yaml -selectors: - items: - selector: ".post-listing .post" - pagination: - selector: ".pagination .next-page" - limit: 5 # Optional: sets the maximum number of pages to follow -``` - ### Dynamic Feeds with Parameters Use the `parameters` block to create flexible configs. This is useful for feeds based on search terms, categories, or regions. @@ -135,6 +122,15 @@ parameters: channel: url: "https://news.example.com/search?q={query}" title: "News results for '{query}'" + +selectors: + items: + selector: ".article" + title: + selector: "h2 a" + url: + selector: "h2 a" + extractor: "href" ``` --- diff --git a/ruby-gem/how-to/scraping-json.md b/ruby-gem/how-to/scraping-json.md index 47c3438f..8dde33fb 100644 --- a/ruby-gem/how-to/scraping-json.md +++ b/ruby-gem/how-to/scraping-json.md @@ -89,6 +89,8 @@ headers: channel: url: "http://domainname.tld/whatever.json" selectors: + items: + selector: "array > object" title: selector: "foo" ``` diff --git a/ruby-gem/installation.md b/ruby-gem/installation.md index 101dce22..01dce3de 100644 --- a/ruby-gem/installation.md +++ b/ruby-gem/installation.md @@ -13,7 +13,7 @@ This guide will walk you through the process of installing html2rss on your syst ### Prerequisites -- **Ruby:** html2rss is built with Ruby. Ensure you have Ruby installed (version 3.3 or higher recommended). You can check your Ruby version by running `ruby -v` in your terminal. If you don't have Ruby, visit [ruby-lang.org](https://www.ruby-lang.org/en/documentation/installation/) for installation instructions. +- **Ruby:** html2rss is built with Ruby. Ensure you have Ruby installed (version 3.2 or higher required). You can check your Ruby version by running `ruby -v` in your terminal. If you don't have Ruby, visit [ruby-lang.org](https://www.ruby-lang.org/en/documentation/installation/) for installation instructions. - **Bundler (Recommended):** Bundler is a Ruby gem that manages your application's dependencies. It's highly recommended for a smooth installation. Install it with `gem install bundler`. --- @@ -43,15 +43,13 @@ Then, run `bundle install` in your project directory. --- -### Method 3: Docker (For Containerized Environments) +### Method 3: GitHub Codespaces (For Cloud Development) -For a more isolated and reproducible environment, you can use the official html2rss Docker image. +For a quick start without local setup, you can develop html2rss directly in your browser using GitHub Codespaces: -```bash -docker pull html2rss/html2rss -``` +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?repo=html2rss/html2rss) -You can then run html2rss commands within a Docker container. Refer to the [Docker Hub page](https://hub.docker.com/r/html2rss/html2rss) for detailed usage. +The Codespace comes pre-configured with Ruby 3.4, all dependencies, and VS Code extensions ready to go! --- diff --git a/ruby-gem/reference/selectors.md b/ruby-gem/reference/selectors.md index 11f4d860..b9894552 100644 --- a/ruby-gem/reference/selectors.md +++ b/ruby-gem/reference/selectors.md @@ -42,7 +42,7 @@ selectors: While you can define any named selector, only the following are used in the final RSS feed: | RSS 2.0 Tag | `html2rss` Name | -| ------------- | --------------- | +| ------------- | --------------- | ------------------------------ | | `title` | `title` | | `description` | `description` | | `link` | `url` | @@ -51,17 +51,19 @@ While you can define any named selector, only the following are used in the fina | `guid` | `guid` | | `enclosure` | `enclosure` | | `pubDate` | `published_at` | -| `comments` | `comments` | +| `comments` | `comments` | ⚠️ _Not currently implemented_ | ## Selector Options Each selector can be configured with the following options: -| Name | Description | -| -------------- | ------------------------------------------------ | -| `selector` | The CSS selector for the target element. | -| `extractor` | The extractor to use for this selector. | -| `post_process` | A list of post-processors to apply to the value. | +| Name | Description | +| -------------- | -------------------------------------------------------- | +| `selector` | The CSS selector for the target element. | +| `extractor` | The extractor to use for this selector. | +| `attribute` | The attribute name (required for `attribute` extractor). | +| `static` | The static value (required for `static` extractor). | +| `post_process` | A list of post-processors to apply to the value. | ### Extractors @@ -126,6 +128,10 @@ To add an enclosure (e.g., an image, audio, or video file) to an item, use the ` ```yml selectors: + items: + selector: ".post" + title: + selector: "h2" enclosure: selector: "audio" extractor: "attribute" diff --git a/ruby-gem/reference/stylesheets.md b/ruby-gem/reference/stylesheets.md index fee9d15c..ca8545ad 100644 --- a/ruby-gem/reference/stylesheets.md +++ b/ruby-gem/reference/stylesheets.md @@ -17,7 +17,7 @@ You can add multiple stylesheets to your configuration: ```yaml stylesheets: - - href: "/path/to/style.xls" + - href: "/path/to/style.xsl" media: "all" type: "text/xsl" - href: "https://example.com/rss.css" From 82b2f3da1b82cbef72a615f52b63b9dd928e4be4 Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Wed, 10 Sep 2025 23:27:44 +0200 Subject: [PATCH 2/2] improve copy --- 404.html | 33 ++++++++-- html2rss-configs/index.md | 56 ++++++++++------ index.md | 35 +++++----- web-application/getting-started.md | 31 +++++---- .../how-to/use-automatic-feed-generation.md | 36 ++++++---- .../how-to/use-included-configs.md | 22 ++++--- web-application/installation.md | 65 +++++++++++++------ 7 files changed, 186 insertions(+), 92 deletions(-) diff --git a/404.html b/404.html index 8fb58d46..ad24f2b7 100644 --- a/404.html +++ b/404.html @@ -10,11 +10,32 @@

404 - Page Not Found

Here are some helpful links to get you back on track:

-

If you think this is an error, please report it on GitHub.

+

+ If you think this is an error, please + report it on GitHub. +

diff --git a/html2rss-configs/index.md b/html2rss-configs/index.md index e4a1cad7..afb265b5 100644 --- a/html2rss-configs/index.md +++ b/html2rss-configs/index.md @@ -5,21 +5,29 @@ has_children: false nav_order: 5 --- -# Creating Feed Configurations +# Creating Custom RSS Feeds -Welcome to the guide for `html2rss-configs`. This document explains how to create your own configuration files to convert any website into an RSS feed. +Want to create RSS feeds for websites that don't offer them? This guide shows you how to write simple configuration files that tell the html2rss engine exactly what content to extract. -You can find a list of all community-contributed configurations in the [Feed Directory]({{ '/feed-directory/' | relative_url }}). +**Don't worry if you're not technical** - we'll explain everything step by step! + +You can see examples of what others have created in the [Feed Directory]({{ '/feed-directory/' | relative_url }}). --- -## Core Concepts +## How It Works + +Think of the html2rss engine as a smart assistant that needs instructions. You give it a simple "recipe" (called a config file) that tells it: -An `html2rss` config is a YAML file that defines how to extract data from a web page. It consists of two main building blocks: `channel` and `selectors`. +1. **Which website** to look at +2. **What content** to find (articles, posts, etc.) +3. **How to organize** that content into an RSS feed + +The recipe is written in YAML - a simple format that's easy to read and write. Both html2rss-web and the html2rss Ruby gem use these same configuration files. ### The `channel` Block -The `channel` block contains metadata about the RSS feed itself, such as its title and the source URL. +This tells the html2rss engine basic information about your feed - like giving it a name and telling it which website to look at. **Example:** @@ -29,11 +37,11 @@ channel: title: My Awesome Blog ``` -For a complete list of all available channel options, please see the [Channel Reference]({{ '/ruby-gem/reference/channel/' | relative_url }}). +This says: "Look at this website and call the feed 'My Awesome Blog'" ### The `selectors` Block -The `selectors` block is the core of the configuration, defining the rules for extracting content. It always contains an `items` selector to identify the list of articles and individual selectors for the data points within each item (e.g., `title`, `link`). +This is where you tell the html2rss engine exactly what to find on the page. You use CSS selectors (like you might use in web design) to point to specific parts of the webpage. **Example:** @@ -47,17 +55,19 @@ selectors: selector: "h2 a" ``` -For a comprehensive guide on all available selectors, extractors, and post-processors, please see the [Selectors Reference]({{ '/ruby-gem/reference/selectors/' | relative_url }}). +This says: "Find each article, get the title from the h2 link, and get the link from the same h2 link" + +**Need more details?** Check our [complete guide to selectors]({{ '/ruby-gem/reference/selectors/' | relative_url }}) for all the options. --- -## Tutorial: Your First Config +## Tutorial: Your First Feed -This tutorial walks you through creating a basic configuration file from scratch. +Let's create a simple RSS feed step by step. We'll use a basic blog as our example. -### Step 1: Identify the Target Content +### Step 1: Look at the Website -First, identify the HTML structure of the website you want to create a feed for. For this example, we'll use a simple blog structure: +First, visit the website you want to create a feed for. Right-click and "View Page Source" to see the HTML structure. Look for patterns like this: ```html
@@ -72,9 +82,11 @@ First, identify the HTML structure of the website you want to create a feed for.
``` -### Step 2: Create the Config File and Define the Channel +**What we see:** Each article is wrapped in `
`, titles are in `

` tags, and descriptions are in `

` tags. -Create a new YAML file (e.g., `my-blog.yml`) and define the `channel`: +### Step 2: Create Your Config File + +Create a new text file and save it as `my-blog.yml` (or any name you like). Add this basic information: ```yaml # my-blog.yml @@ -84,9 +96,11 @@ channel: description: The latest news from my awesome blog. ``` -### Step 3: Define the Selectors +This tells html2rss: "Look at this website and call the feed 'My Awesome Blog'" + +### Step 3: Tell html2rss What to Find -Next, add the `selectors` block to extract the content for each post. +Now add the selectors that tell html2rss exactly what content to extract: ```yaml # my-blog.yml @@ -101,8 +115,12 @@ selectors: selector: "p" ``` -- `items`: This CSS selector identifies the container for each article. -- `title`, `link`, `description`: These selectors target the specific data points within each item. For a `link` selector, `html2rss` defaults to extracting the `href` attribute from the matched `` tag. +**What this means:** + +- `items: "article.post"` = "Find each article with class 'post'" +- `title: "h2 a"` = "Get the title from the h2 link" +- `link: "h2 a"` = "Get the link from the same h2 link" +- `description: "p"` = "Get the description from the paragraph" --- diff --git a/index.md b/index.md index d8ae1254..957c1961 100644 --- a/index.md +++ b/index.md @@ -4,30 +4,35 @@ title: Home nav_order: 1 --- -# Create RSS Feeds for Any Website +# Turn Any Website Into an RSS Feed -`html2rss` creates RSS feeds for any website. -[**🚀 Get Started with the Web App**]({{ '/web-application/getting-started' | relative_url }}) +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. + +[**🚀 Get Started with html2rss-web**]({{ '/web-application/getting-started' | relative_url }}) --- -## Key Features +## What is RSS? -- **Automatic Feed Generation:** `auto_source` intelligently extracts content, simplifying feed creation. -- **Precise Content Extraction:** Use CSS selectors for targeted content inclusion. -- **JavaScript Rendering:** A headless browser renders JavaScript-heavy sites for comprehensive content extraction. -- **Open Source:** `html2rss` is free to use, modify, and contribute. +RSS (Really Simple Syndication) lets you follow websites in your favorite feed reader. Instead of checking multiple websites daily, you get all updates in one place - like a personalized news feed. ---- +## The html2rss Project + +The html2rss project provides two main ways to create RSS feeds: -## The html2rss Ecosystem +- **html2rss-web** - A user-friendly web application (recommended for most users) +- **html2rss** - A Ruby gem for developers and advanced users + +Both use the same powerful engine to extract content from websites and convert it into RSS feeds. + +--- -The `html2rss` project offers a complete RSS solution through a collection of integrated tools: +## Choose Your Path -- **[html2rss-web]({{ '/web-application' | relative_url }}):** User-friendly web application to create, manage, and share RSS feeds. Recommended starting point. -- **[html2rss (Ruby Gem)]({{ '/ruby-gem' | relative_url }}):** Core library and command-line interface for developers. -- **[Feed Directory]({{ '/feed-directory' | relative_url }}):** Public listing of community-driven RSS feed configurations. +- **[html2rss-web]({{ '/web-application' | relative_url }}):** **Start here!** Easy-to-use web application. No technical knowledge required. +- **[Feed Directory]({{ '/feed-directory' | relative_url }}):** Browse ready-made feeds for popular websites +- **[html2rss (Ruby Gem)]({{ '/ruby-gem' | relative_url }}):** For developers who want to create custom configurations --- -Engage with the `html2rss` community or contribute. Visit our [Get Involved]({{ '/get-involved' | relative_url }}) page. +**Ready to get started?** Check out our [html2rss-web getting started guide]({{ '/web-application/getting-started' | relative_url }}) or [browse existing feeds]({{ '/feed-directory' | relative_url }}) to see what's possible. diff --git a/web-application/getting-started.md b/web-application/getting-started.md index 765a0cb1..2b1f64b5 100644 --- a/web-application/getting-started.md +++ b/web-application/getting-started.md @@ -5,24 +5,33 @@ nav_order: 2 parent: Web Application --- -# Getting Started with the html2rss Web Application +# Getting Started with html2rss-web -Welcome to the `html2rss-web` application! This guide provides a strategic overview to help you understand what the application does and how to get started. +Welcome! This guide will help you create RSS feeds from any website using the html2rss-web application. ## What is html2rss-web? -`html2rss-web` is a self-hosted web application that scrapes content from websites and converts it into RSS feeds. It's designed for users who want to create reliable, custom RSS feeds for sites that don't offer them. +html2rss-web is a user-friendly web application that turns any website into an RSS feed. It's part of the html2rss project, which also includes a Ruby gem for developers. Think of html2rss-web as a translator that converts website content into a format your feed reader can understand. -## Primary Use Cases +## Why Use RSS Feeds? -- **Create RSS feeds** for your favorite blogs, news sites, or any website with structured content. -- **Monitor website changes** by subscribing to the generated RSS feeds. -- **Aggregate content** from multiple sources into your feed reader. +Instead of visiting 20 different websites every day, you can: -## The Path to Your First Feed +- **Get all updates in one place** - your feed reader +- **Never miss new content** - automatic notifications +- **Save time** - no more manual checking +- **Stay organized** - categorize and filter content -Here's the recommended path for a new user: +## Quick Start Options -1. **[Installation]({{ '/web-application/installation' | relative_url }})**: Follow our step-by-step guide to set up your own instance of the application using Docker. This is the quickest and most reliable way to get started. +### Option 1: Browse Ready-Made Feeds (Easiest) -If you're interested in more advanced topics, you can explore our **[How-To Guides]({{ '/web-application/how-to/' | relative_url }})** and the **[Reference]({{ '/web-application/reference/' | relative_url }})** section after you have your instance up and running. +1. **[Feed Directory]({{ '/feed-directory' | relative_url }})** - See what's already available +2. **Copy the RSS URL** and add it to your feed reader + +### Option 2: Install Your Own Instance + +1. **[Installation Guide]({{ '/web-application/installation' | relative_url }})** - Set up your own copy +2. **[Create Custom Feeds]({{ '/web-application/how-to/' | relative_url }})** - Make feeds for any website + +**New to RSS?** We recommend starting with the [Feed Directory]({{ '/feed-directory' | relative_url }}) to see examples, then installing html2rss-web to create your own feeds. diff --git a/web-application/how-to/use-automatic-feed-generation.md b/web-application/how-to/use-automatic-feed-generation.md index 46d3c91c..9ada3e3d 100644 --- a/web-application/how-to/use-automatic-feed-generation.md +++ b/web-application/how-to/use-automatic-feed-generation.md @@ -6,26 +6,36 @@ parent: How-To Guides grand_parent: Web Application --- -# How to use automatic feed generation +# Automatic Feed Generation -> This feature is disabled by default. +This feature lets you create RSS feeds automatically - just enter a website URL and html2rss-web figures out the rest! -To enable the `auto_source` feature, comment in the env variables in the `docker-compose.yml` file from above and change the values accordingly: +> **Note:** This feature is disabled by default for security reasons. + +## How to Enable It + +1. **Edit your `docker-compose.yml` file** and uncomment these lines: ```yaml environment: - ## … snip ✁ AUTO_SOURCE_ENABLED: "true" - AUTO_SOURCE_USERNAME: foobar - AUTO_SOURCE_PASSWORD: A-Unique-And-Long-Password-For-Your-Own-Instance - ## to allow just requests originating from the local host + AUTO_SOURCE_USERNAME: your-username + AUTO_SOURCE_PASSWORD: your-secure-password AUTO_SOURCE_ALLOWED_ORIGINS: 127.0.0.1:3000 - ## to allow multiple origins, seperate those via comma: - # AUTO_SOURCE_ALLOWED_ORIGINS: example.com,h2r.host.tld - ## … snap ✃ ``` -Restart the container and open . -When asked, enter your username and password. +2. **Restart html2rss-web:** + +```bash +docker compose down +docker compose up -d +``` + +## How to Use It + +1. **Open the auto-source page:** Go to `http://localhost:3000/auto_source/` +2. **Enter your credentials** (the username and password you set above) +3. **Enter a website URL** and click "Generate" +4. **Get your RSS feed!** html2rss-web will create a feed automatically -Then enter the URL of a website and click on the _Generate_ button. +**That's it!** No configuration files needed - html2rss-web does all the work for you. diff --git a/web-application/how-to/use-included-configs.md b/web-application/how-to/use-included-configs.md index c24bd1fd..92013a06 100644 --- a/web-application/how-to/use-included-configs.md +++ b/web-application/how-to/use-included-configs.md @@ -6,15 +6,19 @@ grand_parent: Web Application nav_order: 3 --- -# How to use the included configs +# Using Pre-Made Feeds -html2rss-web comes with many feed configs out of the box. [See the file list of all configs.](https://github.com/html2rss/html2rss-configs/tree/master/lib/html2rss/configs) +html2rss-web comes with hundreds of ready-made feeds for popular websites! No configuration needed - just use the URLs. -To use a config from there, build the URL like this: +## How to Use Them -| | | -| ------------------------ | ----------------------------- | -| `lib/html2rss/configs/` | `domainname.tld/whatever.yml` | -| Would become this URL: | | -| `http://localhost:3000/` | `domainname.tld/whatever.rss` | -| | `^^^^^^^^^^^^^^^^^^^^^^^^^^^` | +1. **Find a feed** in the [Feed Directory]({{ '/feed-directory' | relative_url }}) +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! + +## 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. diff --git a/web-application/installation.md b/web-application/installation.md index 81e48118..c7907b69 100644 --- a/web-application/installation.md +++ b/web-application/installation.md @@ -7,26 +7,35 @@ parent: Web Application # Installation -This guide will walk you through setting up a personal instance of `html2rss-web` using Docker and `docker-compose`. This is the recommended way to run the application for personal use. +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! -## Prerequisites +## What You'll Need -- Docker and `docker-compose` installed on your machine. +- **Docker** - A tool that makes installation simple (like an app store for server software) +- **About 10 minutes** - The whole process is quick and automated -See . +**Don't have Docker?** [Install it first](https://docs.docker.com/get-started/) - it's free and works on Windows, Mac, and Linux. -## Step 1: Create a Project Directory +## Step 1: Create a Folder -First, create a directory on your machine where you'll store the configuration files for your `html2rss-web` instance. +Create a new folder on your computer to store html2rss-web files: + +**On Windows:** Right-click → New Folder → Name it "html2rss-web" +**On Mac/Linux:** Open Terminal and run: ```bash -mkdir html2rss-web; +mkdir html2rss-web cd html2rss-web ``` -## Step 2: Create the `docker-compose.yml` File +## 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:** -Create a file named `docker-compose.yml` in your `html2rss-web` directory and add the following content. This setup includes the web application, a browser service for rendering JavaScript-heavy pages, and a service to automatically update the application. +- **On Windows:** Right-click in the folder → New → Text Document → Rename it to `docker-compose.yml` (make sure to change the extension) +- **On Mac/Linux:** Use any text editor to create the file ```yaml services: @@ -66,29 +75,47 @@ services: TOKEN: 6R0W53R135510 ``` -## Step 3: Create the `feeds.yml` File +## Step 3: Download the Feed List -The application needs a file to store your feed configurations. -[Download the default `feeds.yml`](https://raw.githubusercontent.com/html2rss/html2rss-web/master/config/feeds.yml) -to get started quickly: +html2rss-web needs a list of feeds to work with. Download our pre-made list: + +**On Windows:** 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 + +**On Mac/Linux:** 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: Launch the Application +## Step 4: Start html2rss-web + +Now start html2rss-web: -Now, you can start the application using `docker compose`. +**On Windows:** Open Command Prompt in your html2rss-web folder and run: + +```cmd +docker compose up -d +``` + +**On Mac/Linux:** In Terminal, run: ```bash docker compose up -d ``` -The `-d` flag runs the containers in the background. +**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 -Congratulations! Your personal `html2rss-web` instance is now running. You can access it at `http://localhost:3000`. +**If you see the interface, congratulations!** You've successfully set up html2rss-web. ## Next Steps -- Now that your instance is running, head over to the **[How-To Guides]({{ '/web-application/how-to/' | relative_url }})** to learn how to create your first feed. We recommend starting with the [Creating Custom Feeds]({{ '/web-application/how-to/creating-custom-feeds' | relative_url }}) guide. -- For a more secure setup, consider putting your instance behind a reverse proxy. You can find more information in the [deployment guide]({{ '/web-application/how-to/deployment' | relative_url }}). +- **Try it out!** Visit `http://localhost:3000` to see html2rss-web in action +- **Browse existing feeds** - Check out what's already available +- **Create your first feed** - Follow our [How-To Guides]({{ '/web-application/how-to/' | relative_url }}) to make custom feeds +- **Need help?** Check our [troubleshooting guide]({{ '/support/troubleshooting' | relative_url }}) if something doesn't work