{"id":17910621,"url":"https://github.com/golota60/yayfetch","last_synced_at":"2025-03-23T22:32:53.616Z","repository":{"id":36012427,"uuid":"220521580","full_name":"golota60/yayfetch","owner":"golota60","description":"🧁 Node.js multi-platform screenfetch","archived":false,"fork":false,"pushed_at":"2023-12-19T18:06:05.000Z","size":6574,"stargazers_count":21,"open_issues_count":11,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T14:03:44.646Z","etag":null,"topics":["aesthetics","cli","command-line","command-line-tool","fetch","javascript","linux","macos","neofetch","osinfo","pfetch","screenfetch","system-information","systeminfo","terminal","typescript","unixporn","windows"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/yayfetch","language":"TypeScript","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/golota60.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":"2019-11-08T18:02:57.000Z","updated_at":"2025-01-31T02:57:20.000Z","dependencies_parsed_at":"2024-10-28T19:51:59.575Z","dependency_job_id":null,"html_url":"https://github.com/golota60/yayfetch","commit_stats":{"total_commits":107,"total_committers":5,"mean_commits":21.4,"dds":0.5233644859813085,"last_synced_commit":"ef036a695029c53c605ea3c1343bb53a1d936635"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Fyayfetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Fyayfetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Fyayfetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Fyayfetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golota60","download_url":"https://codeload.github.com/golota60/yayfetch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245179252,"owners_count":20573426,"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":["aesthetics","cli","command-line","command-line-tool","fetch","javascript","linux","macos","neofetch","osinfo","pfetch","screenfetch","system-information","systeminfo","terminal","typescript","unixporn","windows"],"created_at":"2024-10-28T19:33:15.324Z","updated_at":"2025-03-23T22:32:52.989Z","avatar_url":"https://github.com/golota60.png","language":"TypeScript","funding_links":[],"categories":["Packages"],"sub_categories":["CLI Tools"],"readme":"  \u003ca href=\"https://www.npmjs.com/package/yayfetch\"\u003e\r\n    \u003cimg alt=\"downloads\" src=\"https://img.shields.io/npm/dm/yayfetch.svg\" target=\"_blank\" /\u003e\r\n  \u003c/a\u003e\r\n\u003cbr\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n\u003cimg src=\"https://github.com/golota60/yayfetch/blob/master/assets/logo.svg\" width=\"200\"\u003e\r\n\t\u003ch1\u003eYayfetch\u003c/h1\u003e\r\n\t\u003cp\u003e\r\n\t\t\u003cb\u003e🧁Multi-platform customizable screenfetch tool🧁\u003c/b\u003e\r\n\t\u003c/p\u003e\r\n\t\u003cbr\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg src=\"https://github.com/golota60/yayfetch/blob/master/assets/examplegif.gif\" width=\"600\"\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cbr\u003e\r\n\r\nYayfetch is a tool similar to screenfetch, it just displays info about your computer in a prettified format - except you can use it on a non-linux machine via npx, thanks to the wonders of node\r\n\r\n## Usage\r\n\r\nYayfetch works both with `npx` and `bunx`\r\n\r\n- npm - `npx yayfetch`\r\n\r\n- bun -`bunx yayfetch`\r\n\r\n\r\n_or_ install it globally:\r\n\r\n`bun install --global yayfetch`/`npm install -g yayfetch` and then just call `yayfetch`!\r\n\r\n## Flag-defined features\r\n\r\n`-p` or `--pick` - first asks you what information you want to display, then displays it\r\n\r\n`-c \u003ccolor\u003e` or `--color \u003ccolor\u003e` - allows to specify in which color the data will be shown in predefined colors. Cannot be used with --rgb flag. Available predefined colors:\r\n`pink`(default), `orange`, `green`, `white`, `black`, `red`, `blue`, `yellow`, `violet`, `rainbow`\r\n\r\n`--rgb r,g,b` - specify RGB values in which data will be shown. Cannot be used with -c(--color) flag. Example `npx yayfetch --rgb 125,25,78`\r\n\r\n`--no-logo` - prints data without ASCII art\r\n\r\n`--custom-lines {[key]: value, [key2]: value2, ...}` - object with {[key]: value} string pairs separated by spaces ex.\r\n`'{\"Funny:\": \"joke\", \"exampleline:\": \"examplevalue\"}'`. This is being parsed using JSON.parse, so if you encounter any problem, make sure that string you provided can be parsed by it.\r\n\r\n`--no-colored-boxes` - hides the colored boxes underneath the information.\r\n\r\n`-h` or `--help` - shows available flags.\r\n\r\n`--config \u003cpath_to_file\u003e` - specify a file path to a custom config. See [here](#example-config)\r\n\r\n## Config-specific features\r\n\r\nSome more advanced features are almost impossible to implement through flags(to be quite honest, some are already pushing it e.g. `--custom-lines`).\r\n\r\n- ### Custom ASCIIs\r\n\r\nTo customize the ASCIIs just define `\"ascii\"` line in the config. It should be an `Array\u003cstring\u003e` with path(s) to the ASCII(s).\r\n\r\nExample:\r\n\r\n```json\r\n{\r\n  \"ascii\": [\"./path/to/file.txt\", \"./path/to/2nd/file.txt\"]\r\n}\r\n```\r\n\r\n- ### Custom images\r\n\r\nYou can also defined iamges instead of ASCIIs, by defining `images` field. Note that this flag is mutually exclusive with `ascii` flag.\r\nUses [terminal-image](https://github.com/sindresorhus/terminal-image) underneath, so refer to it when specifying `options`.\r\n\r\n```ts\r\ninterface ImageOptions {\r\n  path: string;\r\n  options?: {\r\n    width?: string | number | undefined;\r\n    height?: string | number | undefined;\r\n    preserveAspectRatio?: boolean | undefined;\r\n  };\r\n}\r\n```\r\n\r\nExample:\r\n\r\n```json\r\n{\r\n  \"image\": {\r\n    \"path\": \"./path/to/file.img\",\r\n    \"options\": { \"preserveAspectRatio\": false }\r\n  }\r\n}\r\n```\r\n\r\n- ### Line Animations\r\n\r\nOutput can be animated by `line-animations` flag in the config file. It should be an `AnimationOptions` object.\r\n\r\n```ts\r\ntype Animations = 'colors' | 'flowing-rainbow';\r\ninterface AnimationOptions {\r\n  type: Animations; // Animations - applied per column basis\r\n  msFrequency: number; // How fast should the animation be\r\n}\r\n```\r\n\r\n**Note: Printing to stdout is not performant, so it may not work well with less performant console environments**\r\n\r\nExample:\r\n\r\n```json\r\n{\r\n  \"line-animations\": {\r\n    \"type\": \"flowing-rainbow\",\r\n    \"msFrequency\": 150\r\n  }\r\n}\r\n```\r\n\r\n## Example config\r\n\r\nYou can specify options through a file and use them by using `--config \u003cpath_to_file\u003e`. Config file should contain a JSON object with keys representing flags.\r\n\r\nNote that every flag with a prefix of `--no-` just negates the flag that is on by default. For example CLI flag `--no-colored-boxes` negates `colored-boxes` flag, which is `true` by default. This is important for creating a config, because if you want to invoke `--no-colored-boxes` through config, you would provide a `\"colored-boxes\": false` in JSON object.\r\n\r\nExample config:\r\n\r\n```\r\n{\r\n\t\"color\": \"blue\",\r\n\t\"colored-boxes\": false,\r\n\t\"logo\": false,\r\n\t\"custom-lines\": {\"Funny:\": \"joke\", \"exampleline:\": \"examplevalue\"}\r\n}\r\n```\r\n\r\n## It doesn't work!\r\n\r\nIf it doesn't work for you make sure that you have the newest node(it's developed using node 18.18.0).\r\n\r\nIf you came here because of the `'Error - check https://www.npmjs.com/package/yayfetch for more'` error, then most likely the software just can't detect the information. Why? Because of the system you use. It may not work when:\r\n\r\n1. You're using linux subsystem for windows\r\n2. Your system is within virtual machine\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolota60%2Fyayfetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolota60%2Fyayfetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolota60%2Fyayfetch/lists"}