{"id":14985813,"url":"https://github.com/aerotoad/thud","last_synced_at":"2025-04-09T18:20:09.183Z","repository":{"id":39877481,"uuid":"469899859","full_name":"aerotoad/Thud","owner":"aerotoad","description":"Simple news reader that keeps the noise low.","archived":false,"fork":false,"pushed_at":"2024-05-02T20:09:27.000Z","size":7293,"stargazers_count":230,"open_issues_count":14,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T18:20:02.904Z","etag":null,"topics":["android","angular","feedly-api","ionic","ios","news","rss-reader","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aerotoad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2022-03-14T20:48:33.000Z","updated_at":"2025-04-02T11:31:46.000Z","dependencies_parsed_at":"2024-05-02T20:51:05.329Z","dependency_job_id":null,"html_url":"https://github.com/aerotoad/Thud","commit_stats":{"total_commits":175,"total_committers":4,"mean_commits":43.75,"dds":0.04571428571428571,"last_synced_commit":"cbf69dc4a9d6558732e629aa5e84ea13e96e47ce"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerotoad%2FThud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerotoad%2FThud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerotoad%2FThud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerotoad%2FThud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aerotoad","download_url":"https://codeload.github.com/aerotoad/Thud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085324,"owners_count":21045139,"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":["android","angular","feedly-api","ionic","ios","news","rss-reader","tailwindcss"],"created_at":"2024-09-24T14:11:43.599Z","updated_at":"2025-04-09T18:20:09.161Z","avatar_url":"https://github.com/aerotoad.png","language":"TypeScript","readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n\n[![Stargazers][stars-shield]][stars-url]\n[![MIT License][license-shield]][license-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]--\u003e\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/aerotoad/Thud\"\u003e\n    \u003cimg src=\"readme-images/logo.png\" alt=\"Logo\" width=\"150\" height=\"150\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eThud.\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Read news without the fuss\n    \u003cbr /\u003e\n    \u003c!--\u003ca href=\"https://github.com/github_username/repo_name\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/github_username/repo_name\"\u003eView Demo\u003c/a\u003e--\u003e\n    ·\n    \u003ca href=\"https://github.com/aerotoad/Thud/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/aerotoad/Thud/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n\u003ca href=\"\"\u003e[![Stargazers][stars-shield]][stars-url]\u003c/a\u003e\n\u003ca href=\"\"\u003e[![MIT License][license-shield]][license-url]\u003c/a\u003e\n\u003ca href=\"\"\u003e[![LinkedIn][linkedin-shield]][linkedin-url]\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n  \u003ca href=\"\"\u003e[\u003cimg alt=\"Get it on Google Play\" height=\"80\" src=\"https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png\"\u003e](https://play.google.com/store/apps/details?id=com.aerotoad.thud)\u003c/a\u003e\n  \u003ca href=\"\"\u003e[\u003cimg alt=\"Get it on F-Droid\" height=\"80\" src=\"https://f-droid.org/badge/get-it-on.png\"\u003e](https://f-droid.org/en/packages/com.aerotoad.thud)\u003c/a\u003e\n  \n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n\u003cdiv align=\"center\"\u003e\n\n[![Product Name Screen Shot][product-screenshot]](https://github.com/aerotoad/Thud)\n  \n\u003c/div\u003e\n\nThud. is a **free** and **open source** news reader for Android and iOS inspired by the original design of Pulse News.\n\n### Why did I build this?\nThose of you who have been using news reader apps since the dawn of smartphones might remember one the first rockstars in the market: Pulse News (you can see it in all it's former glory [here](https://www.cnet.com/tech/mobile/pulse-news-reader-app-now-free-for-ios-android/))\nIt offered an incredible user experience for the time and a convenient way to view all your feeds quickly and efficiently, minimizing the interactions needed to get you to the content you chose to see.\n\nThen LinkedIn [bought it](https://www.theverge.com/2013/4/11/4214206/linkedin-buys-news-reader-pulse-for-a-reported-90-million) and shortly after [ruined it](https://www.theverge.com/2015/6/17/8793547/linkedin-pulse-news-reader-app-update).\n\nEver since that terrible day I've wandered the barren landscape of the app stores waiting for a worthy contender. I've tried it all: the feedly official app, different feedly clients like Inoreader, Flipboard, Google News and Apple News. I even tried some Microsoft news apps :weary:.\n\nAnd yet, to this day, I haven't been able to find a replacement that offers a similar user experience... so I decided to take the matter into my own hands and code it myself.\n\nHere is the result, free and open source just in case LinkedIn decides to try to buy and destroy this one too.\n\n### Features\n\n- **Sleek mosaic-like UI**: All your feeds one blink away, no distractions.\n- **Feed Search**: It uses the feedly search api to make it easier to discover news sources and add your favourite ones.\n- **Bookmarks**: Save articles to read later or for whatever other reason, there for when you need them.\n- **Light and Dark themes**: Complete with fancy (and silly) apple-like names like Darcula and Snowflake (because light and dark are just boring).\n- **Collections**: Organise your feed into collections to keep them nice and tidy.\n- **No account**: Yes, no account, no registration, no servers (besides the public feedly api). Your data is in your phone and remains there, as it should.\n- **Multiple reading settings**: Change the background, typefont and font size.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n### Built With\n\n* [Angular](https://angular.io/)\n* [Ionic Framework](https://ionicframework.com/)\n* [TailwindCSS](https://tailwindcss.com/)\n* [Feedly API](https://developer.feedly.com/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\u003e #### Woah! Wait right there cowboy!\n\u003e This section is for developers, if you are on GitHub, chances are you are one, but just in case, if you don't know what the difference is between a class and a function, head over to the friends at [Free Code Camp](https://www.freecodecamp.org/) and they'll get you started in no time.\n\u003e If you do know why [HTML cannot be parsed with a regular expression](https://stackoverflow.com/a/1732454) please, continue.\n\n### Prerequisites\n\nYou need to install Node.js, then install the latest Ionic command-line tools in your terminal.\n  ```sh\n  npm install -g @ionic/cli\n  ```\n  \n Then you can follow the [Ionic Framework](https://ionicframework.com/) guides to install the native tools for [Android](https://ionicframework.com/docs/developing/android) and [iOS](https://ionicframework.com/docs/developing/ios).\n \n ### Running\n \n If you already have all the tools required, you can install it on your device by running:\n \n #### Android:\n Add Android platform if it doesn't exist:\n   ```sh\n  npx cap add android\n  ```\n  Build project and sync with capacitor platforms:\n  ```\n  ionic cap sync\n  ```\n  Open native Android project in Android Studio:\n  ```\n  npx cap open android\n  ```\n And then use Android Studio to compile and run.\n \n #### iOS:\n Add iOS platform if it doesn't exist:\n ```sh\n  npx cap add ios\n  ```\n  Build project and sync with capacitor platforms:\n  ```\n  ionic cap sync\n  ```\n  Open native iOS project in Xcode:\n  ```\n  npx cap open ios\n  ```\n  And then use Xcode to compile and run.\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the AGPL License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nSamuel Bazaga - [@aerotoad](https://twitter.com/aerotoad)\n\nProject Link: [https://github.com/aerotoad/Thud](https://github.com/aerotoad/Thud)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ACKNOWLEDGMENTS \n## Acknowledgments\n\n* []()\n* []()\n* []()\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e--\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[stars-shield]: https://img.shields.io/github/stars/aerotoad/Thud.svg?style=flat\n[stars-url]: https://github.com/aerotoad/Thud/stargazers\n[license-url]: https://github.com/aerotoad/Thud/blob/master/LICENSE\n[license-shield]: https://img.shields.io/github/license/aerotoad/Thud\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/bazaga/\n[product-screenshot]: readme-images/screenshot.png\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faerotoad%2Fthud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faerotoad%2Fthud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faerotoad%2Fthud/lists"}