RSS feeds for the masses. Create feeds for sites which have none.

Overview

RSS Manufaktur

A template to build RSS Feeds.

In short, RSS Manufaktur takes information of a blog and transforms it into a custom RSS feed for your enjoyment.

Get started

To make this to your own Manufaktur you can either:

  • Use the «Use this template» button on the top of the page
  • Fork this repository

Note: When you use the template button, you lose access to the commit history and (potential) future features.

Afterwards you can update the JSON file in ./_src/_data and add the sites you want to scrape.

As working with CSS selectors is a bit daunting, we’re open for better ideas.

How it works

Add blog data in _src/_data/blog-info.json. You can add as many blogs as you like.

The data should look as follows:

[
  {
    "name": "ovl.design",
    "parserInfo": {
      "url": "https://www.ovl.design/text/",
      "elements": {
        "posts": "article.article-card",
        "postTitle": ".article-card__headline",
        "postURL": ".article-card__link",
        "postDate": ".article-card__date > time",
        "postIntro": ".article-card__date + p"
      }
    }
  }
]

parserInfo will be passed to Blog Parser, our friendly little utility to make sense of a blog. See those docs for further info.

The URL given in parserInfo.url will be scraped and all posts returned. Based on this data, RSS Manufaktur will build a RSS feed.

All created feeds are shown on the homepage.

Caching

Fetched posts are preserved to disc in a distinct cache per site. This allows you to build up a feed over time, as @inframanufaktur/blog-parser only fetches the first page of a blog.

You can either have this cache in your version control, or .gitignore this, and use a build plugin like netlify-plugin-cache to preserve it between builds.

The cache folder is ./posts.

The cache name is automatically generated based on parserInfo.url, replacing www. and adding the hashed URL pathname. This allows to have multiple feeds from the same host (e.g. for following multiple categories or authors which do not have their own feeds).

Rebuilding Feeds

The generated site itself is static. To update the feeds you’ll need to trigger a rebuild at certain intervals (e.g. every night).

On most hosting providers you’ll be able to do so via CRON jobs. Netlify provided a guide for scheduled deploys on their blog. The same concept can be adapted for DigitalOcean functions or your own server.

Existing Feeds

As @inframanufaktur/blog-parser collects existing feeds from the blog page, we can use this information to show them when building. Please use first party feeds whenever possible. They are most likely better.

What it needs

Create a .env file with the following content:

BASE_URL=https://www.yourdomain.dev

We need to have a base URL to construct a public link to your feed.

You might also like...

A simple to-do list application that helps to organize your daily tasks and keep track of the task you have completed and the task you are yet to have completed, and also deleting the completed task leaving those yet to be completed.

A simple to-do list application that helps to organize your daily tasks and keep track of the task you have completed and the task you are yet to have completed, and also deleting the completed task leaving those yet to be completed.

To-Do-List A To-Do-List App helps users to get their task cordinated and organised. This project is from microverse javascript curriculum which tests

Jul 8, 2022

The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.

The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.

Install | Documentation | Releases | Contributing Foundation is the most advanced responsive front-end framework in the world. Quickly go from prototy

Jan 4, 2023

rss github discussions api

rgd RSS - GitHub Discussions API npm install -g rgd # or npm install -D rgd Usage: rgd Options: --owner --repo --token: generate token - http

Jul 11, 2022

免费的公众号 RSS

免费的公众号 RSS

Feeddd 免费的公众号 RSS 📰 订阅源列表 列表每天会自动更新。 文件 描述 下载 feeds_all_rss RSS 格式 链接 / CDN feeds_all_atom ATOM 格式 链接 / CDN feeds_all_json JSON Feed 格式 链接 / CDN 💪 如

Jan 1, 2023

Twitter RSS (.xml) Feed Scraper Without Developer Authentication

Twitter RSS (.xml) Feed Scraper Without Developer Authentication

Twitter RSS Feed Scraper Without Authentication Command-line application using Node.js that scrapes XML feeds from Nitter, the free and open source al

Jun 15, 2022

RSS/Atom data source plugin for @grafana.

RSS/Atom data source plugin for @grafana.

RSS/Atom data source plugin for Grafana Introduction The RSS/Atom data source is a plugin for Grafana that retrieves RSS/Atom feeds and allows to visu

Jan 2, 2023

mior - Merge into one RSS

mior - Merge into one RSS

mior Merge into one RSS mior is a lightweight web service to filter and merge multiple RSS feeds into one. It provides a pure web-based, responsive us

Nov 6, 2022

An Android universal reader for BiliBiliSpace, Twitter, RSS and more.

An Android universal reader for BiliBiliSpace, Twitter, RSS and more.

Collector An Android universal information stream reader aiming to replace RSS. Features No login, No tracking, All unique identifiers are removed fro

Jan 1, 2023

A light microservice serving Atom 1.0 Feeds for MusicThread threads

MusicThread Web Feeds A light microservice to serve Atom 1.0 Feeds for MusicThread. People use web feeds for following updates to specific threads via

Jun 15, 2022
Owner
Cyber Design Inframanufaktur
Geheimorganisation zur Verknotung von Netzwerkkabeln
Cyber Design Inframanufaktur
Subscribe to rss feeds from anywhere, receive notifications from anywhere.

INK RSS 管理订阅,接收通知 示例网页 · 示例群组 · 报告Bug 介绍 特点 项目背景 TODO 注意事项 部署 额外附赠 使用建议 调查 贡献 作者 协议 介绍 INK RSS 提供及时且多样的 rss 通知服务,借助现有的接口你可以在任意位置订阅,并使用任意方式接收通知,并且所有服务均

null 253 Dec 28, 2022
GitHub Advisory Database RSS Feeds.

github-advisory-database-rss RSS Feeds for GitHub Advisory Database. Usage Visit https://azu.github.io/github-advisory-database-rss/ Subscribe RSS Fee

azu 7 Aug 10, 2022
A small library for turning RSS XML feeds into JavaScript objects

rss-parser A small library for turning RSS XML feeds into JavaScript objects. Installation npm install --save rss-parser Usage You can parse RSS from

Robert Brennan 1.1k Dec 31, 2022
Plain JavaScript version of jQuery's slideToggle(), slideDown(), & slideUp(), but does not use display: none.

dom-slider It works like jQuery's slideToggle(), slideDown(), & slideUp(), but does not use display: none. Uses CSS3 transitions and element.scrollHei

Brenton Cozby 56 Dec 27, 2022
jQuery Address - Deep linking for the masses

jQuery Address The jQuery Address plugin provides powerful deep linking capabilities and allows the creation of unique virtual addresses that can poin

Rostislav Hristov 820 Oct 20, 2022
Click confirmation for the masses <3

jQuery Confirm Action Getting Started <script type="text/javascript" src="./jquery.confirm-action.js"></script> $('.my-button').confirmAction({ ti

SD Elements 6 Sep 25, 2020
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
This is a Google Chrome Extension which blocks social media sites.

Social Media Blocks (1.0.3) This is a Google Chrome Extension which blocks social media sites like Twitter: Facebook, Instagram, LinkedIn, WhatsApp, R

Helitha Rupasinghe 20 Dec 15, 2022