{"id":13725194,"url":"https://github.com/j6k4m8/goosepaper","last_synced_at":"2025-04-07T23:03:54.894Z","repository":{"id":38379560,"uuid":"246181153","full_name":"j6k4m8/goosepaper","owner":"j6k4m8","description":"generate and deliver a daily newspaper to you or your remarkable tablet","archived":false,"fork":false,"pushed_at":"2024-10-04T22:15:51.000Z","size":1279,"stargazers_count":290,"open_issues_count":10,"forks_count":24,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-31T22:15:07.697Z","etag":null,"topics":["epub","frof","newspaper","ohp","pdf","pdf-generation","remarkable","remarkable-tablet","tablet","weather"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/j6k4m8.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-10T01:36:49.000Z","updated_at":"2025-03-27T12:09:36.000Z","dependencies_parsed_at":"2024-06-13T01:17:11.418Z","dependency_job_id":"655ff030-bb42-4cc7-9ac2-86689b26b1b2","html_url":"https://github.com/j6k4m8/goosepaper","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j6k4m8%2Fgoosepaper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j6k4m8%2Fgoosepaper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j6k4m8%2Fgoosepaper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j6k4m8%2Fgoosepaper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j6k4m8","download_url":"https://codeload.github.com/j6k4m8/goosepaper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744294,"owners_count":20988781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["epub","frof","newspaper","ohp","pdf","pdf-generation","remarkable","remarkable-tablet","tablet","weather"],"created_at":"2024-08-03T01:02:15.488Z","updated_at":"2025-04-07T23:03:54.873Z","avatar_url":"https://github.com/j6k4m8.png","language":"Python","funding_links":[],"categories":["Python","remarkable-tablet","Other"],"sub_categories":["Template Builders"],"readme":"\u003cp align=center\u003e\u003cimg align=center src='https://raw.githubusercontent.com/j6k4m8/goosepaper/master/docs/goose.svg' width=600 /\u003e\u003c/p\u003e\n\u003ch6 align=center\u003ea daily newsfeed delivered to your remarkable tablet\u003c/h6\u003e\n\n\u003cp align=center\u003e\n  \u003ca href=\"https://github.com/j6k4m8/goosepaper/\" alt=\"GitHub repo size\"\u003e\u003cimg src=\"https://img.shields.io/github/repo-size/j6k4m8/goosepaper?style=for-the-badge\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/j6k4m8/goosepaper\" alt=\"GitHub last commit\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/j6k4m8/goosepaper?style=for-the-badge\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://jordan.matelsky.com\" alt=\"This repo is pretty dope.\"\u003e\u003cimg src=\"https://img.shields.io/badge/pretty%20dope-%F0%9F%91%8C-blue?style=for-the-badge\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=center\u003e\n  \u003ca href=\"https://github.com/j6k4m8/goosepaper\" alt=\"This repo is licensed under Apache 2.0\"\u003e\u003cimg src=\"https://img.shields.io/github/license/j6k4m8/goosepaper?style=for-the-badge\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/goosepaper/\"\u003e\u003cimg alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/goosepaper?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=center\u003e\n  \u003ca href=\"https://hub.docker.com/repository/docker/j6k4m8/goosepaper\"\u003e\u003cimg alt=\"Docker Hub Automated Build\" src=\"https://img.shields.io/badge/DockerHub_image-automated-green?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/j6k4m8/goosepaper/pkgs/container/goosepaper\"\u003e\u003cimg alt=\"GitHub Container Registry Automated build\" src=\"https://img.shields.io/badge/GHCR.io_image-automated-green?style=for-the-badge\"\u003e\u003c/a\u003e\n \u003c/p\u003e\n \u003cp align=center\u003e\n  \u003ca href=\"https://github.com/j6k4m8/goosepaper/actions?query=workflow%3A%22Python+Tests%22\"\u003e\u003cimg alt=\"GitHub Workflow Status (with branch)\" src=\"https://img.shields.io/github/actions/workflow/status/j6k4m8/goosepaper/python-package.yml?branch=master\u0026style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/j6k4m8/goosepaper\"\u003e\u003cimg alt=\"Codecov\" src=\"https://img.shields.io/codecov/c/github/j6k4m8/goosepaper?logo=codecov\u0026style=for-the-badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## what's up\n\ngoosepaper is a utility that delivers a daily newspaper to your remarkable tablet. that's cute!\n\nyou 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.\n\n## survey\n\n**[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!](https://forms.gle/t3PUp2TxDQnzzs8x9)\n\n## get started with docker\n\nBy far the easiest way to get started with Goosepaper is to use Docker.\n\n### step 0: write your config file\n\nWrite a config file to tell Goosepaper what news you want to read. An example is provided in `example-config.json`.\n\n### step 1: generate your paper\n\nFrom the directory that has the config file in it, run the following:\n\n```shell\ndocker run -it --rm -v $(pwd):/goosepaper/mount j6k4m8/goosepaper goosepaper -c mount/example-config.json -o mount/Goosepaper.pdf\n```\n\n(where `example-config.json` is the name of the config file to use).\n\n### step 2: you are done!\n\nIf 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:\n\n```shell\ndocker run -it --rm \\\n    -v $(pwd):/goosepaper/mount \\\n    -v $HOME/.rmapy:/root/.rmapy \\\n    j6k4m8/goosepaper \\\n    goosepaper -c mount/example-config.json -o mount/Goosepaper.pdf --upload\n```\n\nOtherwise, you can now email this PDF to your tablet, perhaps using [ReMailable](https://github.com/j6k4m8/remailable).\n\n## get started without docker: installation\n\n### dependencies:\n\nthis 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.\n\nmore details [here](https://weasyprint.readthedocs.io/en/latest/install.html).\n\n#### mac:\n\n```shell\nbrew install cairo pango gdk-pixbuf libffi\n```\n\n#### ubuntu-flavored:\n\n```shell\nsudo 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\n```\n\n#### windows:\n\n[Follow these instructions carefully](https://weasyprint.readthedocs.io/en/latest/install.html#windows).\n\n## and then:\n\nFrom inside the goosepaper repo,\n\n```shell\npip3 install -e .\n```\n\n## get started\n\nYou can customize your goosepaper by editing `config.json`. (More instructions, and customization tools, all coming soon!)\n\n```shell\ngoosepaper --config myconfig.json --output mypaper.pdf\n```\n\nIf you don't pass an output flag, one will be generated based upon the time of generation.\n\nThe output can also be specified by a config file. These are in order of precedence, low to highest:\n\n1. Home directory global configs \n2. Local directory from which goosepaper is called \n3. Specified on the command line. \n\nAn example config file is included here: [example-config.json](example-config.json).\n\n---\n\nCheck out [this example PDF](https://github.com/j6k4m8/goosepaper/blob/master/docs/Example-Nov-1-2020.pdf), generated on Nov 1 2020.\n\n## existing story providers ([want to write your own?](https://github.com/j6k4m8/goosepaper/blob/master/CONTRIBUTING.md))\n\n-   [Wikipedia Top News / Current Events](https://github.com/j6k4m8/goosepaper/blob/master/goosepaper/storyprovider/wikipedia.py)\n-   [Mastodon Toots](https://github.com/j6k4m8/goosepaper/blob/master/goosepaper/storyprovider/mastodon.py)\n-   [Weather](https://github.com/j6k4m8/goosepaper/blob/master/goosepaper/storyprovider/weather.py). These stories appear in the \"ear\" of the front page, just like a regular ol' newspaper\n-   [RSS Feeds](https://github.com/j6k4m8/goosepaper/blob/master/goosepaper/storyprovider/rss.py)\n-   [Reddit Subreddits](https://github.com/j6k4m8/goosepaper/blob/master/goosepaper/storyprovider/reddit.py)\n\n# More Questions, Infrequently Asked\n\n### yes but pardon me — i haven't a remarkable tablet\n\nDo 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`.\n\n### very nice! may i have it in comic sans?\n\nyes! you may do anything that you find to be fun and welcoming :)\n\nCheck out the `styles.Styles` enum in the goosepaper library. You will find there what you seek.\n\n### do all dogs' names start with the letter \"B\"?\n\nI do not think so, but it is a good question!\n\n### may i use this to browse twitter?\n\n~~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.~~\n\nno! twitter has changed and now no one can play nicely with them. sorry! it is sad!\n\n# You May Also Like...\n\n-   [remailable](https://github.com/j6k4m8/remailable): Email PDF documents to your reMarkable tablet\n-   [rmapy fork](https://github.com/j6k4m8/rmapy): My fork of rmapy, with added features and bugfixes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj6k4m8%2Fgoosepaper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj6k4m8%2Fgoosepaper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj6k4m8%2Fgoosepaper/lists"}