Giter VIP home page Giter VIP logo

feedthing's Introduction

FeedThing

FeedThing is a django-based feed reader. I created it when Bloglines was shutting down because I didn't like Google Reader and then of course that shut down anyway.

FeedThing supports all common feed flavours - RSS, Atom and JSON Feed. It works just as well on mobile as on desktop browsers.

FeedThing treats feeds in the specific manner that I believe to be right.

  • Regular (I want to read everything by this author) feeds are displayed with all the unread posts in chronological order.
  • High traffic news feeds display all the posts in reverse chronological order, paginated 20 posts to a page.
  • Regular feeds that have been read up to date display their old posts in reverse chronological order, paginated.

So you can use FeedThing as both a catch-up, never-miss-a-post service, and a Dave Winer-esque river of news at the same time.

Feeds can be placed into folders in which case all the feeds in the folder are treated as if they were a single feed. There is no further nesting, folders are a single level deep.

A single FeedThing installation can support multiple users, each with their own settings and list of feeds. Embarrassingly, there is no UI to create those users just now.

I have used this as my daily RSS reader for over a decade. It is probably missing features that other readers have, but nothing that I have ever missed.

Enjoy.

Installation

FeedThing is a pretty simple Python 3 / Django 2.2 application. There are a few external dependencies that need pip installing (listed in requirements.txt)

The django settings.py file is not quite complete. It imports some of its settings from settings_server.py which is listed in .gitignore because it is installation specific. There is an example.

Host it as you would any other django app. I had it running for years under fastcgi and it was fine. I currently run it behind gunicorn & nginx which is better.

Once it is running, in order to keep it ticking over and reading feeds, something needs to keep hitting /refresh/ or, better still, calling the management command manage.py refreshfeeds

I have that set up as a cron job every five minutes. This was a cheesy way to work around the severe lameness of my last hosting, but its working well enough that I still do it that way. Celery beat would work too.

Make yourself the first login using manage.py createsuperuser

And that's it.

feedthing's People

Contributors

xurble avatar dependabot[bot] avatar

Stargazers

Versun avatar About RSS avatar PJ avatar Yasemen avatar

Watchers

 avatar James Cloos avatar

Forkers

renpj

feedthing's Issues

settings_server.py is missing

Hello unknown internet person,

$ python manage.py createsuperuser

File "BLAH/FeedThing/settings.py", line 7, in <module>
import settings_server
ImportError: No module named settings_server

In .gitignore we have:

settings_server.py

Coincidence?

Broken Feed: https://feedle.world/hacker-news/rss

And probably all feedle feeds.

They post relative links but then django-feed-reader makes them absolute relative to the feed url, but really they are relative to the thing linked.

Could probably generalize this and have a javascript image error handler that tries to re-absolutize the image url based on the domain on the nearest linked title??

Does Feedthing still under developing or does it accept pull request?

I've tried FeedThing these days and very like it. Before feedthing, I used google reader and inoreader. However, they are both not possible for me now. I'm looking for a simple app to help me managing RSS feeds. I'm also developing a self-hosted website based on Django. So Feedthing is a good choice for me. I'm wondering does Feedthing still under developing or does it accept pull request? For example, scroll spying is very useful to label the item read/unread state. I will take time to add this feature into feedthing and I'd like to contribute it to this project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.