{"id":26645942,"url":"https://github.com/reuteras/ttrsscli","last_synced_at":"2025-04-11T01:37:35.348Z","repository":{"id":276964068,"uuid":"930491690","full_name":"reuteras/ttrsscli","owner":"reuteras","description":"Textual app to read articles from a Tiny Tiny RSS instance.","archived":false,"fork":false,"pushed_at":"2025-03-22T13:10:47.000Z","size":934,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T22:46:46.586Z","etag":null,"topics":["python3","rss","textual"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reuteras.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":"2025-02-10T18:07:03.000Z","updated_at":"2025-03-22T13:10:50.000Z","dependencies_parsed_at":"2025-02-11T12:24:37.378Z","dependency_job_id":"12b1d2ba-89fb-40c8-9411-c7e8ed28e62c","html_url":"https://github.com/reuteras/ttrsscli","commit_stats":null,"previous_names":["reuteras/ttcli"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reuteras%2Fttrsscli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reuteras%2Fttrsscli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reuteras%2Fttrsscli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reuteras%2Fttrsscli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reuteras","download_url":"https://codeload.github.com/reuteras/ttrsscli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248326416,"owners_count":21085097,"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":["python3","rss","textual"],"created_at":"2025-03-24T22:46:52.006Z","updated_at":"2025-04-11T01:37:35.328Z","avatar_url":"https://github.com/reuteras.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ttrsscli - A CLI Tool for Tiny Tiny RSS\n\n**This has been a sample project for me to use AI to create an app.** The initial version with limited functionality was created with OpenAI but it been rewritten by me even though I have used AI to help me with some parts of the code. Especially parts with textual since it is a new library for me.\n\n`ttrsscli` is a terminal-based application that provides a text user interface (TUI) for reading articles from a [Tiny Tiny RSS](https://tt-rss.org/) instance. Built using [Textual](https://github.com/Textualize/textual), `ttrsscli` allows users to navigate and read their RSS feeds efficiently from the command line.\n\n## Features\n\n- **Browse Categories \u0026 Feeds**: View unread or all categories and feeds.\n- **Read Articles**: Select articles to read in a formatted text view.\n- **Keyboard Navigation**: Use intuitive keyboard shortcuts for fast browsing.\n- **Mark Articles Read/Unread**: Easily toggle read status of articles.\n- **Star Articles**: Mark important articles for later reference.\n- **Open in Browser**: Open the original article in your default web browser.\n- **1Password Integration**: Fetch credentials securely using 1Password CLI.\n- **Configuration via TOML**: Use a simple `config.toml` file to manage API credentials.\n\n## Installation\n\n### Prerequisites\n\n- Python 3.11+\n- Tiny Tiny RSS instance\n- (Optional) [1Password CLI](https://developer.1password.com/docs/cli) for secure credential and configuration management\n\n### Install\n\n```\nuvx tool install ttrsscli\n```\n\nCreate a _config.toml_ file by running by running `ttrsscli` once.\n\nAfter that you can just run `ttrsscli`.\n\n## Keyboard Shortcuts\n\n```sh\n## Navigation\n- **j / k / n**: Navigate articles\n- **J / K**: Navigate categories\n- **Arrow keys**: Up and down in current pane\n- **tab / shift+tab**: Navigate panes\n\n## General keys\n- **h / ?**: Show this help\n- **q**: Quit\n- **G / ,**: Refresh\n- **c**: Clear content in article pane\n- **d**: Toggle dark and light mode\n\n## Article keys\n- **H**: Toggle \"header\" (info) for article\n- **l**: Add article to Readwise\n- **L**: Add article to Readwise and open that Readwise page in browser\n- **M**: View markdown source for article\n- **m**: Maximize content pane (ESC to minimize)\n- **r**: Toggle read/unread\n- **s**: Star article\n- **O**: Export markdown to Obsidian\n- **o**: Open article in browser\n- **ctrl+l**: Open list with links in article, selected link is sent to Readwise\n- **ctrl+L**: Open list with links in article, selected link is sent to Readwise and opened in browser\n- **ctrl+o**: Open list with links in article, selected link opens in browser\n- **ctrl+s**: Save selected link from article to download folder\n\n## Category and feed keys\n- **e**: Toggle expand category\n- **g**: Toggle group articles to feed\n- **R**: Open recently read articles\n- **S**: Show special categories\n- **u**: Show all categories (include unread)\n```\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Contributing\n\nContributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request on [GitHub](https://github.com/reuteras/ttrsscli).\n\n## Author\n\nDeveloped by [reuteras](https://github.com/reuteras).\n\n## Roadmap\n\nSome thoughts are listed below:\n\n### More functions\n\n\u003e Implement more functions from the [Python API] https://github.com/Vassius/ttrss-python/blob/master/ttrss/client.py). For example add and remove feeds.\n\nI've done a fork of the `ttrss-python` library to be able to add some more features.\n\n- Should the tool use a [timer]( https://textual.textualize.io/api/timer/) to check that updater is running and indicate it at regular intervals?\n- Add code for [testing](https://textual.textualize.io/guide/testing/).\n- Switch to rich [markdown](https://rich.readthedocs.io/en/stable/markdown.html) to get more features and later images (see below).\n- Add support for [images](https://github.com/Textualize/textual/discussions/4345) via [rich-pixels](https://github.com/darrenburns/rich-pixels)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freuteras%2Fttrsscli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freuteras%2Fttrsscli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freuteras%2Fttrsscli/lists"}