A rudimentary RSS bridge
Go to file
2024-05-12 11:31:51 +02:00
.vscode feat: added frontend 2024-05-12 11:31:51 +02:00
api fix(backend): small edits or new features 2024-05-12 11:29:57 +02:00
frontend feat: added frontend 2024-05-12 11:31:51 +02:00
.env.dev feat: added frontend 2024-05-12 11:31:51 +02:00
.gitignore Initial commit 2024-04-30 12:19:16 +00:00
docker-compose.yml feat: added frontend 2024-05-12 11:31:51 +02:00
LICENSE Initial commit 2024-04-30 12:19:16 +00:00
README.md fix: readme format 2024-05-12 11:28:55 +02:00

Rudibridge

A rudimentary RSS bridge for changing web pages that don't have an RSS feed.

Architecture and usage

This (personal side-) project can be used to build an RSS feed from webpages that don't have any.

This project consists of two parts :

  • a back-end, written in Flask, that responds an RSS feed to GET requests with specific parameters
  • a front-end, written in Vue.js, a simple wrapper/helper to write the GET requests

Parameters

  • url (required): the URL of the page
  • article (required): the HTML tag encapsulating a feed item
  • title (required): the HTML tag of the article title
  • articleClass: a class name helping to filter the article element
  • titleClass: a class name helping to filter the title element
  • section: the HTML tag encapsulating the group of items. If not given, the entire page will be used
  • content: the HTML tag encapsulating the content, or description, of the item. The default is p
  • contentClass: a class name helping to filter the content element
  • link: the HTML tag encapsulating the link to the item. The default is a.
  • linkClass: a class name helping to filter the link element
  • datetime: the HTML tag encapsulating the date and time of the item. Any date and time format can be used, the parser will try to understand the format.
  • datetimeClass: a class name helping to filter the datetime element
  • author: the HTML tag encapsulating the author of the item
  • authorClass: a class name helping to filter the author element

Installation

Using Docker, for development purposes

You will need to have Docker and Docker Compose installed. Clone the repository, go to its root and run docker-compose up -d. To use the backend directly, go to the page http://localhost:8080/api/feed/ and start adding parameters!

For production

To do

Examples

(as of May 2024, the web pages can change over time and break the generated feeds)