You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
3.8 KiB
Markdown

Introduction
============
pyferea is my solution to [this
email](http://lists.debian.org/debian-user/2011/07/msg01362.html) that I posted
to the debian-users list in 2011. I was fed up with there being no sane RSS
reader in existance that could just render some RSS entries in a fast and
simple fashion.
Quick Start
===========
Create a feeds.yaml (you can copy feeds.yaml.example) and then run:
12 years ago
$ python pyferea.py
Naming
======
It is called pyferea (python feed reader) for now as I was inspired by the
layout of liferea (linux feed reader). I guess I'm just too lazy to come up
with another name but suggestions are welcome. Pyferea is just the first thing
that sprang to my mind when I had to give the sourcecode directory a name and I
didnt change it since.
Purpose
=======
I might really overlook something out there but everytime I checked there was
no sane RSS feed reader out there that would please me. I did not think that I
would require much. Just three panes for feeds, entries and content, keeping
record of unread entries and rendering content in a browser. Liferea came close
but was poisoned by feature bloat (as many others... especially gnome
12 years ago
dependencies) and major slowness. On top of that it created a new feed entry
everytime I accidentally drag&drop something. I call all of those bugs and they
never got fixed. Pyferea does just what I want, is simple, DE agnostic (uses
python and gtk) and fits in about 1000 lines of code.
Pyferea is for you if you want:
- an offline feed reader
- no gnome, KDE, mono dependencies
- no rss reader as a browser plugin
- not terminal based, hence webbrowser for rendering
Bugs
====
Pyferea as it is now is enough for my daily use but there are still some issues
that need to be fixed: the back/forward functionality of the browser must be
fixed in certain cases (i seldomly use it) and the text in the
addressbar, title and tabtitle must be synced. I will fix that once I feel like
it. If anybody feels inclined to do so, then patches are welcome.
Dependencies
============
12 years ago
apt-get install python-gobject python-yaml python-lxml python-feedparser gir1.2-webkit-3.0
As of February 2012, the dependency size of the following feed readers in a
fresh Debian Sid minimal chroot:
pyferea: 172MB
liferea: 225MB
gpodder: 226MB
blam: 408MB
akregator: 758MB
Keyboard shortcuts
==================
To make it faster to switch between the three panes and scroll in them, use the
keys 1, 2 and 3 to select the first, second or third pane respectively.
feeds.yaml
==========
It is a yaml dictionary with rss/atom feeds as keys and subdictionaries as
values. For each entry they store the category a feed is in and if the link
given in a feed entry should be loaded instead of the feed text.
Example:
```yaml
http://planet.debian.org/rss20.xml:
category: "IT news"
loadlink: False
http://slashdot.org/slashdot.rss:
category: "IT news"
loadlink: True
```
Cookies
=======
Cookies are kept in cookies.txt and are automatically accepted
ythtml5.js
==========
A javascript that I load upon each pageload to convert youtube videos into
their html5 versions so that the webkit plugin can render them even withoutme
having flash.
12 years ago
12 years ago
Files
=====
pyferea.db
- database of retrieved feeds
- resides in local directory or in $XDG_DATA_HOME/pyferea/
feeds.yaml
- list of feeds urls to retrieve
- resides in local directory, in $XDG_CONFIG_HOME/pyferea/ or as
an example file as /usr/share/pyferea/feeds.yaml.example
javascript
- all javascript files that are to be executed after page load reside in
$XDG_DATA_HOME/pyferea/ or in /usr/share/pyferea/ and identify themselves
by having the ".js" extension
12 years ago
Possible future work
====================
(patches welcome)
- build debian package
- load javascript selectively and not for every page
12 years ago
- i18n
- downloading (only gui code missing)
- list of unread items
12 years ago
- make re-sorting fast