Awesome
<p align=center><img align=center src='https://raw.githubusercontent.com/j6k4m8/goosepaper/master/docs/goose.svg' width=600 /></p> <h6 align=center>a daily newsfeed delivered to your remarkable tablet</h6> <p align=center> <a href="https://github.com/j6k4m8/goosepaper/" alt="GitHub repo size"><img src="https://img.shields.io/github/repo-size/j6k4m8/goosepaper?style=for-the-badge" /></a> <a href="https://github.com/j6k4m8/goosepaper" alt="GitHub last commit"><img src="https://img.shields.io/github/last-commit/j6k4m8/goosepaper?style=for-the-badge" /></a> <a href="https://jordan.matelsky.com" alt="This repo is pretty dope."><img src="https://img.shields.io/badge/pretty%20dope-%F0%9F%91%8C-blue?style=for-the-badge" /></a> </p> <p align=center> <a href="https://github.com/j6k4m8/goosepaper" alt="This repo is licensed under Apache 2.0"><img src="https://img.shields.io/github/license/j6k4m8/goosepaper?style=for-the-badge" /></a> <a href="https://pypi.org/project/goosepaper/"><img alt="PyPI" src="https://img.shields.io/pypi/v/goosepaper?style=for-the-badge"></a> </p> <p align=center> <a href="https://hub.docker.com/repository/docker/j6k4m8/goosepaper"><img alt="Docker Hub Automated Build" src="https://img.shields.io/badge/DockerHub_image-automated-green?style=for-the-badge"></a> <a href="https://github.com/j6k4m8/goosepaper/pkgs/container/goosepaper"><img alt="GitHub Container Registry Automated build" src="https://img.shields.io/badge/GHCR.io_image-automated-green?style=for-the-badge"></a> </p> <p align=center> <a href="https://github.com/j6k4m8/goosepaper/actions?query=workflow%3A%22Python+Tests%22"><img alt="GitHub Workflow Status (with branch)" src="https://img.shields.io/github/actions/workflow/status/j6k4m8/goosepaper/python-package.yml?branch=master&style=for-the-badge"></a> <a href="https://codecov.io/gh/j6k4m8/goosepaper"><img alt="Codecov" src="https://img.shields.io/codecov/c/github/j6k4m8/goosepaper?logo=codecov&style=for-the-badge"></a> </p>what's up
goosepaper is a utility that delivers a daily newspaper to your remarkable tablet. that's cute!
you can include RSS feeds, Mastodon feeds, news articles, wikipedia articles-of-the-day, weather, and more. I read it when I wake up so that I can feel anxious without having to get my phone.
survey
[New!] In response to feedback, I'm collecting anonymous survey responses. Do you want a goosepaper delivered but without requiring any code? Please let me know your thoughts!
get started with docker
By far the easiest way to get started with Goosepaper is to use Docker.
step 0: write your config file
Write a config file to tell Goosepaper what news you want to read. An example is provided in example-config.json
.
step 1: generate your paper
From the directory that has the config file in it, run the following:
docker run -it --rm -v $(pwd):/goosepaper/mount j6k4m8/goosepaper goosepaper -c mount/example-config.json -o mount/Goosepaper.pdf
(where example-config.json
is the name of the config file to use).
step 2: you are done!
If you want to both generate the PDF as well as upload it to your reMarkable tablet, you can pass the --upload
flag to the docker command above. You must additionally mount your ~/.rmapy
file:
docker run -it --rm \
-v $(pwd):/goosepaper/mount \
-v $HOME/.rmapy:/root/.rmapy \
j6k4m8/goosepaper \
goosepaper -c mount/example-config.json -o mount/Goosepaper.pdf --upload
Otherwise, you can now email this PDF to your tablet, perhaps using ReMailable.
get started without docker: installation
dependencies:
this tool uses weasyprint
to generate PDFs. You can install all of the python libraries you need with pip3 install -r ./requirements.txt
from this repo, but you may need these prerequisites before getting started.
more details here.
mac:
brew install cairo pango gdk-pixbuf libffi
ubuntu-flavored:
sudo apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
windows:
Follow these instructions carefully.
and then:
From inside the goosepaper repo,
pip3 install -e .
get started
You can customize your goosepaper by editing config.json
. (More instructions, and customization tools, all coming soon!)
goosepaper --config myconfig.json --output mypaper.pdf
If you don't pass an output flag, one will be generated based upon the time of generation.
The output can also be specified by a config file. These are in order of precedence, low to highest:
- Home directory global configs
- Local directory from which goosepaper is called
- Specified on the command line.
An example config file is included here: example-config.json.
Check out this example PDF, generated on Nov 1 2020.
existing story providers (want to write your own?)
- Wikipedia Top News / Current Events
- Mastodon Toots
- Weather. These stories appear in the "ear" of the front page, just like a regular ol' newspaper
- RSS Feeds
- Reddit Subreddits
More Questions, Infrequently Asked
yes but pardon me — i haven't a remarkable tablet
Do you have another kind of tablet? You may generate a print-ready PDF which you can use on another kind of robot as well! Just remove the last line of main.py
.
very nice! may i have it in comic sans?
yes! you may do anything that you find to be fun and welcoming :)
Check out the styles.Styles
enum in the goosepaper library. You will find there what you seek.
do all dogs' names start with the letter "B"?
I do not think so, but it is a good question!
may i use this to browse twitter?
yes you may! you can add a list of usernames to the feed generator and it will make a print-ready version of twitter. this is helpful for when you are on twitter on your laptop but wish you had Other Twitter as well, in print form.
no! twitter has changed and now no one can play nicely with them. sorry! it is sad!
You May Also Like...
- remailable: Email PDF documents to your reMarkable tablet
- rmapy fork: My fork of rmapy, with added features and bugfixes