{"id":13621456,"url":"https://github.com/GeopJr/BLAHAJ","last_synced_at":"2025-04-15T01:32:41.519Z","repository":{"id":103303965,"uuid":"491925589","full_name":"GeopJr/BLAHAJ","owner":"GeopJr","description":"[MIRROR] 🦈🏳️‍⚧️🏳️‍🌈 Gay sharks at your local terminal - lolcat-like CLI tool","archived":false,"fork":false,"pushed_at":"2025-01-06T21:52:10.000Z","size":64,"stargazers_count":204,"open_issues_count":3,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-04T06:39:02.659Z","etag":null,"topics":["ascii-art","blahaj","cli","colors","command-line","lolcat","queer","shark","terminal","trans"],"latest_commit_sha":null,"homepage":"https://codeberg.org/GeopJr/BLAHAJ","language":"Crystal","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeopJr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"GeopJr","custom":["https://www.paypal.me/GeopJr","https://geopjr.dev/donate"]}},"created_at":"2022-05-13T14:18:35.000Z","updated_at":"2025-03-23T18:06:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"fbd9717e-eeb9-4782-a4e1-156e8de06124","html_url":"https://github.com/GeopJr/BLAHAJ","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeopJr%2FBLAHAJ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeopJr%2FBLAHAJ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeopJr%2FBLAHAJ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeopJr%2FBLAHAJ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeopJr","download_url":"https://codeload.github.com/GeopJr/BLAHAJ/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248989362,"owners_count":21194577,"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":["ascii-art","blahaj","cli","colors","command-line","lolcat","queer","shark","terminal","trans"],"created_at":"2024-08-01T21:01:06.556Z","updated_at":"2025-04-15T01:32:41.274Z","avatar_url":"https://github.com/GeopJr.png","language":"Crystal","funding_links":["https://github.com/sponsors/GeopJr","https://www.paypal.me/GeopJr","https://geopjr.dev/donate"],"categories":["Crystal"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"512\" alt=\"BLÅHAJ ascii art in trans flag colors\" src=\"./logo.svg\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eBLÅHAJ\u003c/h1\u003e\n\u003ch4 align=\"center\"\u003eGay sharks at your local terminal\u003c/h4\u003e\n\u003cp align=\"center\"\u003e\n  \u003cbr /\u003e\n    \u003ca href=\"https://github.com/GeopJr/BLAHAJ/blob/main/CODE_OF_CONDUCT.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-v2.1-ffffff.svg?style=for-the-badge\u0026labelColor=5992a4\" alt=\"Code Of Conduct\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/GeopJr/BLAHAJ/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/LICENSE-BSD--2--Clause-ffffff.svg?style=for-the-badge\u0026labelColor=5992a4\" alt=\"BSD-2-Clause\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/GeopJr/BLAHAJ/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/GeopJr/BLAHAJ/ci.yml?branch=main\u0026labelColor=5992a4\u0026style=for-the-badge\" alt=\"ci action status\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# What is BLÅHAJ?\n\nApart from [a cute cuddly shark plushie from IKEA](https://www.ikea.com/us/en/p/blahaj-soft-toy-shark-90373590/), BLÅHAJ is a lolcat-like CLI tool that colorizes your input, shows flags and prints colorful sharks!\n\nIt has a wide variety of flags/colors to choose from and many options from flag size to whether to colorize by line, word or character.\n\n# Installation\n\n## Pre-built\n\nYou can download one of the statically-linked pre-built binaries from the [releases page](https://github.com/GeopJr/BLAHAJ/releases/latest).\n\nThey are built \u0026 published by our lovely [actions](https://github.com/GeopJr/BLAHAJ/actions/workflows/release.yml).\n\n## AUR\n\nArch Linux users can install the [blahaj](https://aur.archlinux.org/packages/blahaj) (or the [blahaj-git](https://aur.archlinux.org/packages/blahaj-git)) AUR package.\n\n## Docker\n\n```\ndocker run --rm -it --name blahaj ghcr.io/geopjr/blahaj -h\n```\n\n## Building\n\n### Dependencies\n\n- `crystal` - `1.8.0`\n\n### Makefile\n\n- `$ make` (or `$ make static` on Alpine Linux for a static build)\n- `# make install`\n\n# FAQ\n\n## Why are only striped flags allowed?\n\nFlags with eg. triangles, circles or symbols, need enough horizontal space to determine where and how to display them. BLÅHAJ can't know in advance how long the input is going to be.\n\n## Why are the stripes repeating instead of showing the flag in full?\n\nJust like the previous question, BLÅHAJ can't know how long the text is going to be (vertically) since it colorizes the input as it comes in.\n\n## I would like to add a color scheme or flag\n\nGreat! Follow the [Contributing section](#contributing) and modify [data/colors.yaml](./data/colors.yaml).\n\n```yaml\nflag name:\n  color:\n    - hex color\n    - per\n    - stripe\n  alias:\n    - aliases\n    - if any\n```\n\n# Examples\n\n```\n$ blahaj -h\n\nBLÅHAJ v2.2.0\n\nUsage:\n    blahaj [arguments]\n    blahaj [arguments] file\n    command | blahaj [arguments]\n\nExamples:\n    blahaj -c trans ~/.bashrc\n    blahaj -s -b\n    neofetch | blahaj -c gay\n    blahaj -f -c lesbian -m 4\n    blahaj -w /etc/os-release\n\nArguments:\n    -b, --background                 Color the background\n    -s, --shark                      Shork\n    -f, --flag                       Return a flag\n    -i, --individual                 Color individual characters\n    -w, --words                      Color individual words\n    -m MULTIPLIER, --multiplier=MULTIPLIER\n                                     Multiplier for the flag size (-f)\n    -c FLAG, --colors=FLAG           Color scheme to use (Default: trans)\n    -r, --random                     Use a random color scheme\n    --flags                          List all available flags\n    -h, --help                       Show this help\n```\n\n## Shark (`-s`), flag (`-f`), flag with 2x multiplier (`-f -m 2`)\n\n![A screenshot of a terminal with the output of the command \"blahaj -s -c pride \u0026\u0026 blahaj -f -c pan \u0026\u0026 blahaj -f -c aro -m 2\". The output first shows a big ascii shark, colorized in the usual rainbow color scheme of the pride flag (red, orange, yellow, green, blue, purple) repeating (one color per line). Under it, a small pansexual flag (pink, yellow, light blue) and under it a big (2x) aromantic flag (green, light green, white, grey, black).](https://i.imgur.com/SPsIcam.png)\n\n## Pipe, individual characters instead of rows (`-i`)\n\n![A screenshot of a terminal with the output of the command \"cowsay \"1312\" | blahaj -c gay -i\". The output shows some ascii art produced by the \"cowsay\" command of a cow with a speech bubble of the text \"1312\". The whole cow ascii art is colored per character using the gay / nwlnw flag colors (Dark mix of blue and green, normal mix of blue and green, light mix of blue and green, white, light blueish-purple, normal blueish-purple, dark blueish-purple).](https://i.imgur.com/M3N82H3.png)\n\n## Read from file, background instead of foreground (`-b`), individual words instead of rows (`-w`)\n\n\u003e Notice how the foreground color changes based on the background color.\n\n![A screenshot of a terminal with the output of the command \"blahaj -b -c lesbian ./src/blahaj.cr\". The output shows some example code of a crystal-lang http server (you can read it and more on https://crystal-lang.org/) with each word's background colored using the colors of the lesbian flag (Dark orange, orange, light orange, white, light pinkish-purple, pinkish-purple, dark pinkish-purple). The foreground color is white on the darker background colors and black on the rest.](https://i.imgur.com/v1mTUmm.png)\n\n## Pipe, default color scheme\n\n![A screenshot of a terminal with the output of the command \"echo -e \"A\\nHAT\\nIN\\nTIME\\nUWU\" | blahaj\". The output shows the words \"A HAT IN TIME UWU\" (one per line) colored in the trans flag colors (light blue, light pink, white, light pink, light blue).](https://i.imgur.com/GjY5xP1.png)\n\n\u003e All images above include ALT text and you are encouraged to read it, if you find parts of them confusing, by using screen readers, hovering over them with your cursor or looking at the source.\n\n# Custom flags at runtime\n\nYou can pass a local [`./data/colors.yaml`](./data/colors.yaml) file at runtime to the `BLAHAJ_COLORS_YAML` env var and BLÅHAJ will parse it. This can also be used to override the already defined flags.\n\n![A screenshot of a file in vscodium and a terminal window. The open file is named my_flags.yaml and lists an RGB flag in the same format as colors.yaml. The terminal window ran `BLAHAJ_COLORS_YAML=./my_flags.yaml ./bin/blahaj -c rgb -f -m3` and outputed the rgb flag.](https://i.imgur.com/POr1vJb.png)\n\n(The custom file needs to follow the [`./data/colors.yaml`](./data/colors.yaml) format)\n\n# Contributing\n\n1. Read the [Code of Conduct](https://github.com/GeopJr/BLAHAJ/blob/main/CODE_OF_CONDUCT.md)\n2. Fork it ( https://github.com/GeopJr/BLAHAJ/fork )\n3. Create your feature branch (git checkout -b my-new-feature)\n4. Commit your changes (git commit -am 'Add some feature')\n5. Push to the branch (git push origin my-new-feature)\n6. Create a new Pull Request\n\n# Sponsors\n\n\u003cp align=\"center\"\u003e\n\n[![GeopJr Sponsors](https://cdn.jsdelivr.net/gh/GeopJr/GeopJr@main/sponsors.svg)](https://github.com/sponsors/GeopJr)\n\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGeopJr%2FBLAHAJ","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGeopJr%2FBLAHAJ","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGeopJr%2FBLAHAJ/lists"}