{"id":13819053,"url":"https://github.com/tobi/highlights","last_synced_at":"2025-10-25T19:36:52.173Z","repository":{"id":55041574,"uuid":"14028527","full_name":"tobi/highlights","owner":"tobi","description":"download your kindle highlights and email random ones to your inbox","archived":false,"fork":false,"pushed_at":"2021-01-13T14:25:43.000Z","size":14,"stargazers_count":186,"open_issues_count":3,"forks_count":16,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-14T05:11:51.220Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tobi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-31T21:15:45.000Z","updated_at":"2025-03-23T22:21:57.000Z","dependencies_parsed_at":"2022-08-14T09:50:53.324Z","dependency_job_id":null,"html_url":"https://github.com/tobi/highlights","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobi%2Fhighlights","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobi%2Fhighlights/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobi%2Fhighlights/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobi%2Fhighlights/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tobi","download_url":"https://codeload.github.com/tobi/highlights/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248824688,"owners_count":21167345,"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":[],"created_at":"2024-08-04T08:00:38.696Z","updated_at":"2025-10-25T19:36:47.138Z","avatar_url":"https://github.com/tobi.png","language":"Ruby","funding_links":[],"categories":["Happy Exploring 🤘","Ruby"],"sub_categories":[],"readme":"# Highlights\n\nAutomatically email yourself a random Amazon Kindle highlight from your collection with this script. I run it on Heroku for free and email you a highlight each day.\n\n## Heroku Setup Instructions\n\n1. Clone this repository.\n\n2. [Install the Heroku toolbelt.](https://toolbelt.heroku.com/) (and run ```heroku login```)\n\n3. In the highlights repository, create a new Heroku app:\n```\nheroku apps:create\n```\n\n4. Push your Ruby app to Heroku:\n```\ngit push heroku master\n```\n\n5. Add the Heroku Scheduler add on to your app:\n```\nheroku addons:create scheduler\n```\n\n6. Add the free Heroku Mailgun add on to your app. This will automatically set your email environment variables as well:\n```\nheroku addons:create mailgun\n```\n\n7. Set your additional environment variables in Heroku:\n```\nheroku config:set AMAZON_USER=\"youramazonusername@email.com\"\nheroku config:set AMAZON_PASS=\"youramazonpassword\"\nheroku config:set TO=\"youraddress@email.com\"\n```\n\n8. On your [Heroku scheduler dashboard](https://scheduler.heroku.com/dashboard), schedule the default rake task daily (or at an interval of your choosing):\n```\nbundle exec rake\n```\n\n9. Add and verify your own [Mailgun SMTP Domain](https://help.mailgun.com/hc/en-us/articles/202052074-How-do-I-verify-my-domain-) from the dashboard or add your email as an authorized receipient.\n\n\nOptionally you can test the script via ```heroku run bundle exec rake```\n\n## Notes\nThe default rake task first downloads and updated list of your highlights, then emails a random one to the TO address. This is because the file system on the Heroku Cedar stack is ephemeral. Each time a dyno is spun up, the file system is wiped, including any previous copies of data.json, the JSON file containing your highlights. For this reason, the script naively downloads an updated copy each time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobi%2Fhighlights","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftobi%2Fhighlights","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobi%2Fhighlights/lists"}