An open API service indexing awesome lists of open source software.

https://github.com/punchagan/elfeed-offline

Offline reading for elfeed posts using a Service Worker
https://github.com/punchagan/elfeed-offline

elfeed elfeed-rss-reader offline-first rss-reader

Last synced: 2 months ago
JSON representation

Offline reading for elfeed posts using a Service Worker

Awesome Lists containing this project

README

          

* Elfeed-offline

Offline reading for Elfeed posts using a Service worker

I wrote a blog post [[https://punchagan.muse-amuse.in/blog/offline-friendly-elfeed-web-ui/][here]] with more details on the motivation to build it and an
overview of how it works.

** Installation Instructions

- Configure [[https://github.com/skeeto/elfeed/][Elfeed]] and start the Elfeed web server using ~M-x elfeed-web-start~
in Emacs.

- Install the latest version of [[https://nightly.dune.build/][dune nightly]]. (works only on Linux and MacOS,
currently)

- Clone the project

- ~dune~ (unlike ~opam~) doesn't automatically manage external (system)
dependencies. You can run ~dune show depexts~ to see the external
dependencies, and install them using your system's package manager (like
~apt~, ~homebew~, etc.)

- Run ~dune build~. This will install all the dependencies including an OCaml
compiler, and could take a while.

** Usage Instructions

- Set ~ELFEED_USERNAME~ and ~ELFEED_PASSWORD~ environment variables to restrict
access to yourself.

- Run ~dune exec -- elfeed-offline~ to start the Dream server

- Run the ~scripts/make-cert.sh~ script to create SSL certificates. This is
necessary for the service worker to work correctly, when accessing from a
different device than the server. Follow the instructions in the script to
copy and add the additional certificates to your mobile phone.

- Access the server in your browser. Use ~https://.local:9000~ to
have everything working even with dynamic IPs.

- Wait for a few seconds to make sure everything is cached in the browser for
offline reading.

- Enjoy reading!