DEV Community

Tim B
Tim B

Posted on

2 2 1 2 2

Zero-Code RSS Feeds with Mkfd: From Webpage to Feed in Minutes

GitHub logo TBosak / mkfd

RSS feed builder created with Bun🥖 and Hono🔥- builds from webpages and/or REST API calls

mkfd

Docker Pulls GitHub Repo stars

🏃 Running locally

🍞 Bun installation Visit bun.sh for more info

curl https://bun.sh/install | bash
Enter fullscreen mode Exit fullscreen mode

📦 To install dependencies

bun install
Enter fullscreen mode Exit fullscreen mode

🚀 To run

bun run index.ts --passkey=your_passkey_here --cookieSecret=your_cookie_secret_here
Enter fullscreen mode Exit fullscreen mode

➡️ Access the GUI at http://localhost:5000/


🐳 Running with Docker

🏠 Locally

docker build -t mkfd .
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret mkfd
Enter fullscreen mode Exit fullscreen mode

📥 From Docker Hub

docker pull tbosk/mkfd:latest
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret tbosk/mkfd:latest
Enter fullscreen mode Exit fullscreen mode

🔧 To Do

  • Locally testing subscriptions to feeds
  • Add all possible RSS fields to models
  • Add option for parallel iterators
  • Add form validation
  • Add selector suggestion engine
  • Add feed preview pane
  • Store/compare feed data to enable timestamping feed items
  • Create dockerfile
  • Create Helm chart files
  • Create GUI
  • Utilities
    • HTML stripper
    • Source URL wrapper for relative links
  • Amass contributors


paypal






Mkfd is a zero-code RSS feed builder created with Bun and Hono, featuring an intuitive front-end that simplifies the entire feed creation process. Instead of manually writing scripts, you just open the interface, input a target URL along with CSS selectors, and Mkfd exports a YAML configuration file. Mkfd then uses that YAML to periodically build and update your feed. In this post, I'll show a high-level overview on how to use Mkfd’s user interface and show you how quickly you can start generating feeds from any webpage or REST API — without writing a single line of code.


🏃 Running locally

🍞 Bun installation Visit bun.sh for more info

curl https://bun.sh/install | bash
Enter fullscreen mode Exit fullscreen mode

📦 To install dependencies

bun install
Enter fullscreen mode Exit fullscreen mode

🚀 To run

bun run index.ts --passkey=your_passkey_here --cookieSecret=your_cookie_secret_here
Enter fullscreen mode Exit fullscreen mode

➡️ Access the GUI at http://localhost:5000/


🐳 Running with Docker

🏠 Locally

docker build -t mkfd .
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret mkfd
Enter fullscreen mode Exit fullscreen mode

📥 From Docker Hub

docker pull tbosk/mkfd:latest
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret tbosk/mkfd:latest
Enter fullscreen mode Exit fullscreen mode

🧭 Navigating the Mkfd UI

Open http://localhost:5000 after running Mkfd. You’ll see a form that lets you input:

  • The Target URL of the webpage or API you want to convert into a feed.
  • A Schedule (in minutes) for how often Mkfd should re-scrape and rebuild the feed.

Mkfd provides a user-friendly interface (with SelectorGadget integration for figuring out the correct selectors) that lets you pinpoint elements on the webpage:

  • Article Container Selector – Identify the main wrapper for each item, e.g., .article or li.post-item.
  • Title, Link, Date Selectors – Extract the specific data fields for your feed.
  • Additional Fields – You can also include a description, author, or enclosures (such as audio, videos, or images).

The Aforementioned UI:

Front Page #1

Front Page #2

Front Page #3

Active Feeds Page

Note: If accessing remotely from outside localhost, the passkey used on deployment is needed to enter the UI but not to consume the feeds.


🗂️ Generating the YAML Configuration

After you specify your selectors and scheduling details, just hit Submit. Mkfd will create a YAML configuration file with a unique GUID — this file contains:

  • URL – The page or API endpoint you’re scraping.
  • Selectors – The custom CSS selectors for titles, links, dates, etc.
  • Schedule – The periodic interval (in minutes) for Mkfd to update your feed.

This YAML file lives within the project directory and serves as the master instruction set for the feed builder.


⚙️ How Mkfd Builds and Serves the Feed

Once your YAML is set up, Mkfd executes a periodic job to:

  1. Scrape the Specified URL – Using your CSS selectors to retrieve the latest content.
  2. Generate an RSS Feed – Formatting the scraped data into a valid feed structure.
  3. Expose the Feed – Mkfd will automatically serve the feed from an endpoint for the end user to consume.

💡 Tips and Tricks

  • Selector Fine-Tuning: If your feed items aren’t showing as expected, double-check your CSS selectors.
  • Multiple Feeds: You can create multiple feeds for different websites or data sources. Each feed is built using its own web worker.
  • Scheduling Intervals: Avoid overly frequent scrapes (e.g., every minute) to reduce server load and potential IP blocking. A common interval is 15 minutes to 1 hour.
  • Version Control Your YAML: If you’re setting up multiple feeds or complex data extractions, keep your YAML in version control for easy rollback or iteration.

✅ Conclusion

Mkfd offers a straightforward, no-code solution for generating custom RSS feeds out of any webpage or REST API.

  1. Scrape Data using simple CSS selectors—no coding required.
  2. Generate a YAML file that captures your scraping logic and schedule.
  3. Automatically Build and Serve the feed on a configurable schedule.

Whether you’re a seasoned developer or just need a simple feed builder, Mkfd’s browser-based UI, integrated selector tools, and one-click YAML generation make it easy to convert the web into feeds you control — all without writing a single line of code.

Happy Building! Check out the GitHub repo for more details and/or to contribute to Mkfd’s development.

Image of Quadratic

Python + AI + Spreadsheet

Chat with your data and get insights in seconds with the all-in-one spreadsheet that connects to your data, supports code natively, and has built-in AI.

Try Quadratic free

Top comments (0)

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️