Giter Club home page Giter Club logo

blahaj's Introduction

BLÅHAJ ascii art in trans flag colors

BLÅHAJ

Gay sharks at your local terminal


Code Of Conduct BSD-2-Clause ci action status

What is BLÅHAJ?

Apart from a cute cuddly shark plushie from IKEA, BLÅHAJ is a lolcat-like CLI tool that colorizes your input, shows flags and prints colorful sharks!

It 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.

Installation

Pre-built

You can download one of the statically-linked pre-built binaries from the releases page.

They are built & published by our lovely actions.

AUR

Arch Linux users can install the blahaj (or the blahaj-git) AUR package.

Docker

docker run --rm -it --name blahaj ghcr.io/geopjr/blahaj -h

Building

Dependencies

  • crystal - 1.8.0

Makefile

  • $ make (or $ make static on Alpine Linux for a static build)
  • # make install
Multithreading

Releases are already in mt mode. It makes BLÅHAJ a lot faster:

  • $ make build_mt (or $ make static_mt on Alpine Linux for a static build)
  • # make install

FAQ

Why are only striped flags allowed?

Flags 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.

Why are the stripes repeating instead of showing the flag in full?

Just 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.

I would like to add a color scheme or flag

Great! Follow the Contributing section and modify data/colors.yaml.

flag name:
  color:
    - hex color
    - per
    - stripe
  alias:
    - aliases
    - if any

Examples

$ blahaj -h

BLÅHAJ v2.1.0

Usage:
    blahaj [arguments]
    blahaj [arguments] file
    command | blahaj [arguments]

Examples:
    blahaj -c trans ~/.bashrc
    blahaj -s -b
    neofetch | blahaj -c gay
    blahaj -f -c lesbian -m 4
    blahaj -w /etc/os-release

Arguments:
    -b, --background                 Color the background
    -s, --shark                      Shork
    -f, --flag                       Return a flag
    -i, --individual                 Color individual characters
    -w, --words                      Color individual words
    -m MULTIPLIER, --multiplier=MULTIPLIER
                                     Multiplier for the flag size (-f)
    -c FLAG, --colors=FLAG           Color scheme to use (Default: trans)
    -r, --random                     Use a random color scheme
    --flags                          List all available flags
    -h, --help                       Show this help

Shark (-s), flag (-f), flag with 2x multiplier (-f -m 2)

A screenshot of a terminal with the output of the command "blahaj -s -c pride && blahaj -f -c pan && 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).

Pipe, individual characters instead of rows (-i)

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).

Read from file, background instead of foreground (-b), individual words instead of rows (-w)

Notice how the foreground color changes based on the background color.

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.

Pipe, default color scheme

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).

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.

Contributing

  1. Read the Code of Conduct
  2. Fork it ( https://github.com/GeopJr/BLAHAJ/fork )
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

Sponsors

GeopJr Sponsors

blahaj's People

Contributors

antiz96 avatar bitfl0wer avatar chromadale avatar geopjr avatar miampf avatar modernews avatar willfantom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.