{"id":16060908,"url":"https://github.com/orgoldfus/fomo","last_synced_at":"2025-03-18T05:30:30.357Z","repository":{"id":39999003,"uuid":"271840808","full_name":"orgoldfus/fomo","owner":"orgoldfus","description":"Read the latest tech news right from your terminal","archived":false,"fork":false,"pushed_at":"2024-04-14T19:57:13.000Z","size":373,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-24T01:20:54.075Z","etag":null,"topics":["cli","hacktoberfest","javascript","news","technology"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/orgoldfus.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":"2020-06-12T16:16:07.000Z","updated_at":"2024-04-24T01:20:54.076Z","dependencies_parsed_at":"2024-10-10T22:45:52.828Z","dependency_job_id":null,"html_url":"https://github.com/orgoldfus/fomo","commit_stats":{"total_commits":42,"total_committers":4,"mean_commits":10.5,"dds":0.4285714285714286,"last_synced_commit":"ab25a0d732f6205aeaaf4fe46b32602ddd5745e6"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orgoldfus%2Ffomo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orgoldfus%2Ffomo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orgoldfus%2Ffomo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orgoldfus%2Ffomo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orgoldfus","download_url":"https://codeload.github.com/orgoldfus/fomo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244164511,"owners_count":20408947,"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":["cli","hacktoberfest","javascript","news","technology"],"created_at":"2024-10-09T04:07:11.079Z","updated_at":"2025-03-18T05:30:29.936Z","avatar_url":"https://github.com/orgoldfus.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/4867932/85957355-4bba7d00-b995-11ea-96ec-9c9ce00a5f85.png\" height=\"300\" alt=\"fomo logo\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003eGot FOMO? read the latest Tech news right from your Terminal\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/4867932/85957302-ee263080-b994-11ea-912f-6ecfa2230942.gif\" width=\"562\" alt=\"fomo example\"\u003e\u003c/p\u003e\n\n![npm](https://img.shields.io/npm/v/fomoapp)\n\n## Install\n```sh\nnpm install -g fomoapp\n```\n\n## Usage\n```sh\n$ fomo\n```\n\nSelect a specific source using the `-s` flag:\n```sh\n$ fomo -s hn # Hacker News\n```\n\nYou can also select a specific ordering/sub-group using the `-t` flag:\n```sh\n$ fomo -s hn -t ask # ask HN\n```\n\nLimit the number of responses (for each source) using the `-l` flag:\n```sh\n$ fomo -l 3 # showes 3 entries for each source\n```\n\nConfigure fomo using the `-c` flag:\n```sh\n$ fomo -c # openes the configuration menu\n```\n\nList all available sources (and their types) using the `-p` flag:\n```sh\n$ fomo -p # prints all available sources\n```\n\nGet help using the `-h` flag:\n```sh\n$ fomo -h\n```\n\n## Sources\n| Source       \t| Source ID \t| Available types                                                                                           \t|\n|--------------\t|-----------\t|-----------------------------------------------------------------------------------------------------------\t|\n| Hacker News  \t| hn        \t| ask (Ask HN)\u003cbr\u003ebest\u003cbr\u003ejobs\u003cbr\u003enew\u003cbr\u003eshow (Show HN)\u003cbr\u003etop                                              \t|\n| Product Hunt \t| ph        \t| featured\u003cbr\u003enew\u003cbr\u003etop_ranking\u003cbr\u003etop_votes                                                               \t|\n| TechCrunch   \t| tc        \t| euro\u003cbr\u003efunding\u003cbr\u003egear\u003cbr\u003emobile\u003cbr\u003esocial\u003cbr\u003estartups\u003cbr\u003etop                                            \t|\n| The Verge    \t| verge     \t| breaking\u003cbr\u003eculture\u003cbr\u003efull\u003cbr\u003emobile\u003cbr\u003esw (Software and Apps)\u003cbr\u003eweb                                    \t|\n| Reddit       \t| reddit    \t| fed (r/Frontend)\u003cbr\u003ejs (r/javascript)\u003cbr\u003eprog (r/programming)\u003cbr\u003etech (r/technology)\u003cbr\u003ewebdev (r/webdev) \t|\n| Wired        \t| wired     \t| business\u003cbr\u003egear\u003cbr\u003escience\u003cbr\u003etop                                                                        \t|\n\n## User-defined RSS sources (New!)\nYou can define your own RSS sources using simple configuration files.\n\nIn order to configure a new RSS source you'll need:\n\n1. Create a new folder to hold your source configuration files.\n2. Create a configuration file for your desired source.\n3. Tell fomo where to find your config files: \n  * Open fomo's config menu (run `fomo -c`)\n  * Choose \"Configure external rss feeds directory\"\n  * Enter the path to the folder you created. Make sure to use an absolute path\n\n### Source configuration file\nSource configuration file should be a valid JSON file with the following structure:\n```json\n{\n  \"details\": {\n    \"name\": \"The source name\",\n    \"id\": \"The source ID\"\n  },\n  \"baseUrl\": \"base URL of the RSS feeds\",\n  \"fetchTypes\": {\n    \"key1\": \"First RSS feed name\",\n    \"key2\": \"Second RSS feed name\",\n    \"keyN\": \"Nth RSS feed name\"\n  },\n  \"defaultFetchType\": \"Key name of the default RSS feed (should be one the keys defined above)\",\n  \"fieldsMapping\": {\n    \"title\": \"title field name\",\n    \"link\": \"link field name\",\n    \"summary\": \"summary field name (optional)\",\n    \"date\": \"date field name (optional)\",\n    \"author\": \"author field name (optional)\"\n  },\n  \"defaultCacheTTL\": \"Number of minutes to cache result from this source (optional. default is 10 minutes)\"\n}\n```\n\nThe final RSS feed URL is built in the following way: `${baseUrl}/${selectedFetchTypeValue}`, so make sure `baseUrl` doesn't end with a comma and that non of the fetchTypes keys' values doesn't start with a comma. \n\nFor your convenience, here's an example source config file:\n```json\n{\n  \"details\": {\n    \"name\": \"MIT News\",\n    \"id\": \"mit\"\n  },\n  \"baseUrl\": \"https://news.mit.edu/topic\",\n  \"fetchTypes\": {\n    \"astronauts\": \"mitastronauts-rss.xml\",\n    \"ai\": \"mitartificial-intelligence2-rss.xml\"\n  },\n  \"defaultFetchType\": \"ai\",\n  \"fieldsMapping\": {\n    \"title\": \"title\",\n    \"link\": \"link\",\n    \"summary\": \"summary\",\n    \"date\": \"isoDate\",\n    \"author\": \"author\"\n  },\n  \"defaultCacheTTL\": 10\n}\n```\n\n## License\n[MIT](LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forgoldfus%2Ffomo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forgoldfus%2Ffomo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forgoldfus%2Ffomo/lists"}