Skip to content

calvin/web

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Earth Reader for Web

Web frontend of Earth Reader.

Distributed under AGPLv3 or later.

Install

You can install Earth Reader for Web using pip:

$ pip install EarthReader-Web

Then you can use command earthreader.

$ earthreader -h

Repository

Repository is a directory to store data. It can be inside of Dropbox or Google Drive folder to be synchronized with other devices. You also can synchronize the repository directory using rsync.

If the path that doesn't exist yet is passed to CLI repository path argument or EARTHREADER_REPOSITORY environment variable the new folder will be automatically created.

Standalone server

You can run Earth Reader for Web using its standalone server:

$ earthreader server /path/to/repository/dir
$ earthreader server -p 8080 /path/to/repository/dir  # listen to 8080 port
$ earthreader server -d /path/to/repository/dir  # debug mode

And then open http://localhost:<port>/ with your browser.

WSGI server

Earth Reader for Web is actually an ordinary WSGI-compliant web application, so you can run it using your preferred WSGI server e.g. Gunicorn, mod_wsgi. The WSGI endpoint is earthreader.web:app. Note that you can provide the path of repository by setting EARTHREADER_REPOSITORY environment variable.

Note that you should manually invoke earthreader crawl command when you run it using your preferred WSGI server while the standalone server (earthreader server command) automatically does it for you. We recommend you to register earthreader crawl command to your crontab.

For example, you can run it on Gunicorn:

$ export EARTHREADER_REPOSITORY=/path/to/repository/dir
$ gunicorn earthreader.web:app

Or you can attach Earth Reader to Apache with mod_wsgi like this:

<VirtualHost *:80>
  ServerName yourwebsite.com
  WSGIDaemonProcess earthreader user=www-data group=www-data threads=1
  WSGIScriptAlias / /var/wsgi/earthreader.wsgi

  <Directory /var/wsgi/>
     WSGIProcessGroup earthreader
     WSGIApplicationGroup %{GLOBAL}

     Order deny,allow
     Allow from all
     # We recommend you to use authorization for security.
     AuthType Basic
     AuthName "Private rss reader"
     AuthUserFile /var/wsgi/earthreader.htpasswd
     Require valid-user
  </Directory>
</VirtualHost>
#!/usr/bin/env python
#/var/wsgi/earthreader.wsgi
import sys
from earthreader.web import app as application

application.config.update(
    REPOSITORY='/path/to/repository/dir'
)

And open http://yourwebsite.com/ in your browser.

Crawler

You can manually crawl feeds as well via CLI:

$ earthreader crawl /path/to/repository/dir

Keyboard shortcuts

Vim-inspired keyboard shortcuts are also available:

  • j/k: Older/newer entry.
  • n/p: Next/previous subscription.
  • o: Open entry in new tab.
  • r: Refresh the feed.
  • s: Star/unstar.
  • u or m: Mark as unread.
  • ?: This help message.
Earth Reader

http://earthreader.org/

libearth

https://github.com/earthreader/libearth

Git repository (GitHub)

https://github.com/earthreader/web

Issue tracker (GitHub)

https://github.com/earthreader/web/issues

Mailing list

earthreader@librelist.com

List archive

http://librelist.com/browser/earthreader/

Continuous integration (Travis)

https://travis-ci.org/earthreader/web

Build Status

Demo

You can try Earth Reader web here: http://try.earthreader.org/

Changelog

Version 0.3.0

To be released.

  • Run crawler thread by default.
  • Error code circular-refernce, which is a typo, was renamed to circular-reference.
  • Fixed auto scroll when entry has images.
  • Fixed a bug that raises BuildError. [#49]
  • Became to need libearth 0.3.1 or later.

Version 0.2.1

Released on July 16, 2014.

  • Relative directory path on WSGI app. [#42]
  • Give correct permalink. [#43]
  • Workaround libearth 0.3.0 incompatibility.
  • Entry list is cached by browser using Last-Modified and If-Modified-Since headers.

Version 0.2.0

Released on April 22, 2014.

  • earthreader crawl command adds new options:
    • -f/--feed-id crawls only the specified feed if present.
    • -v/--verbose shows more detail information.
  • Categories are folded at first.
  • Keyboard shortcut for toggle folding category.
  • Expand categories when click feed for mobile layout.
  • Google reader style shortcuts.
  • Mark all as read function. [#28]
  • Fixed a bug that "crawl now" button didn't work.
  • Relative directory path on command line. [#36]
  • GUI launcher for OS X. [#38]

Version 0.1.1

Released on January 10, 2014.

  • Fixed ImportError when earthreader command is invoked on Python 3. [#25 by Yong Choi]
  • The repository path argument format became consistent both for earthreader server and earthreader crawl commands. [#24]
  • Close help overlay on escape key. [#27]
  • Added --P/--profile/--linesman option, available only when linesman is installed, to earthreader server comand.
  • Continue crawling when some feed raises error.
  • Fix crawling bug.
  • Print error when failed to remove feed.
  • Fixed some Unicode coding bugs on server side.
  • -v/--verbose option prints detailed tracebacks of crawler errors.
  • Spinner UI while loading contents.

Version 0.1.0

Released on December 23, 2013. Alpha version.

Packages

No packages published

Languages

  • Python 76.3%
  • JavaScript 17.7%
  • CSS 6.0%