Sign inSign up

witjem/feedpls

By witjem

Updated over 3 years ago

Service to generate RSS/Atom feeds from web pages that lack them

Image
0

596

witjem/feedpls repository overview

Feedpls is a simple web service to generate RSS/Atom for web page which does not have it.

Configuration

Example feeds.yaml

---
- id: "" # Feed identifier.
  title: "" # The title in the feed.
  description: "" # The description in the feed.
  url: "" # The URL of the web page to generate the feed from.
  
  matchers:
  
    # Defines how to find items URLs.
    itemUrl: 
      selector: "main a" # A CSS selector.
      attr: "href" # Optional. HTML attribute name. Use it to get content from attribute.

    # Defines how to find item title. 
    # The Title value is retrieved from the Item page.
    title:
      selector: "main .c-body-title h1"
      attr: ""

    # Defines how to find item description.
    # The Description value is retrieved from the Item page.
    description:
      selector: "meta[name='twitter:description']"
      attr: "content"

    # Defines how to find item published time.
    # The Published value is retrieved from the Item page.
    published:
      selector: "meta[name='article:published_time']"
      attr: "content"
      
      # Standard golang layout for parsing time. 
      # Examples: https://pkg.go.dev/time#pkg-constants
      layout: "2006-01-02T15:04:05Z07:00" 

Run

Example docker-compose.yml

services:
  feedpls:
    image: witjem/feedpls:main
    container_name: feedpls
    hostname: feedpls
    ports:
      - "8080:8080"
    volumes:
      - ./feeds.yaml:/feeds.yaml
    environment:
      - APP_PORT=8080
      - APP_SECRET=1234 # access-key
      - APP_FEEDS=/feeds.yaml
      - APP_TTL=5m # feed cache time

Endpoints

## Get RSS feed
curl -X GET --location "https://<host>/rss/<feed-id>?secret=<access-key>"

## Get Atom feed
curl -X GET --location "https://<host>/atom/<feed-id>?secret=<access-key>"

Tag summary

Content type

Image

Digest

sha256:26295fe45

Size

4.1 MB

Last updated

over 3 years ago

docker pull witjem/feedpls