• Stars
    star
    172
  • Rank 221,201 (Top 5 %)
  • Language
    Shell
  • License
    Other
  • Created over 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Super Unko project is the one of the awesome, clean and sophisticated OSS projects in the world.

License Build Status Coverage Status GitHub Actions Build Status

super_unko project is the one of the awesome, clean and sophisticated OSS project in the world. Let's create poop commands!

super_unko ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฏไธ–็•Œใงๆœ€ใ‚‚ใ‚ฏใƒชใƒผใƒณใงๆด—็ทดใ•ใ‚ŒใŸOSSใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎไธ€ใคใงใ™ใ€‚ ใ†ใ‚“ใ“ใชใ‚ณใƒžใƒณใƒ‰ใ‚’ไฝœใ‚Šใพใ—ใ‚‡ใ†ใ€‚

Table of Contents

Commands

Command Description
super_unko Controles sub unkommands
unko.tr Convert various expressions equals to poop into ๐Ÿ’ฉ (poop).
unko.ls Shows various poop expression.
unko.yes Generate ๐Ÿ’ฉ poop forever.
unko.tower Build your poop tower.
unko.pyramid Build your poop pyramid.
bigunko.show Big poop.
unko.printpnm Generate ๐Ÿ’ฉ PNM image file.
unko.puzzle Sliding block puzzle.
unko.toilet Display large ๐Ÿ’ฉ characters.
unko.grep Print lines matching a ๐Ÿ’ฉ pattern.
unko.say King ๐Ÿ’ฉ says a message.
unko.shout King ๐Ÿ’ฉ shouts a message.
unko.think King ๐Ÿ’ฉ thinks something.
unko.life Play ๐Ÿ’ฉ's game of life.
unko.any Simple wrapper to ๐Ÿ’ฉ substitution for unko.shout.
unko.king Build your king shift tower.
unko.fizzbuzz No need to implement FizzBuzz.
unko.ping Ping the ๐Ÿ’ฉ domain.
unko.encode Encode/Decode data and print to standard output.
unko.date TBD
unko.awk TBD
unko.xargs TBD

Installation

Linux

With yum (RHEL compatible distros)

$ sudo yum install https://git.io/superunko.linux.rpm

Uninstall (not super_unko)

$ sudo yum remove superunko

With apt (Debian base distros)

$ wget https://git.io/superunko.linux.deb
$ sudo dpkg -i ./superunko.linux.deb

Uninstall (not super_unko)

$ sudo apt remove superunko

With AUR (ArchLinux base distros)

You can install super_unko from https://aur.archlinux.org/packages/super_unko-git/ with your favorite aur helper.

e.g. with yay:

$ yay -S super_unko-git

Uninstall (not super_unko)

$ sudo pacman -R super_unko-git

macOS

  • With Homebrew
$ brew tap unkontributors/unko
$ brew install super_unko

Uninstall

$ brew remove super_unko

Docker

  • With docker
$ git clone https://github.com/unkontributors/super_unko.git
$ cd super_unko
$ docker-compose build
$ docker-compose run super_unko unko.shout ใ“ใ‚“ใซใกใฏ
$ docker run --rm -it unkontributors/super_unko unko.shout ใ“ใ‚“ใซใกใฏ

Zsh plugin manager

Zsh plugin managers like antigen, zplug can be adoptive. Not only commands can be used but also command_not_found_handler is updated. It is extremely helpful for developers.

  • Example of antigen
antigen bundle "unkontributors/super_unko"

Additional Installation

  • unko.puzzle
  • unko.shout - Need a echo-sd command
  • unko.say - Need a cowsay command ($ apt install cowsay)
  • unko.think - Need a cowthink command ($ apt install cowsay)
  • unko.toilet - Need a toilet command ($ apt install toilet)

Usage

$ echo "ใ†ใ‚“ใ“" | unko.tr
๐Ÿ’ฉ

$ echo "ใ†ใ‚“ใก" | unko.tr
๐Ÿ’ฉ

$ ./unko.yes
๐Ÿ’ฉ
๐Ÿ’ฉ
๐Ÿ’ฉ
๐Ÿ’ฉ
๐Ÿ’ฉ
๐Ÿ’ฉ
๐Ÿ’ฉ
...

Development

Codestyle and lint

We are checking code with shfmt and shellcheck. Please check your code by linter.sh if you want to add your origin unko commands. We must provide clean unkos. So, please run below and pass all checkings.

make setup

make lint
# or
./linter.sh

linter.sh checks your code or all code of this project. linter.sh depends on docker and docker-compose commands. And you don't need to install shfmt and shellcheck.

Usage examples of linter.sh are below.

Help

./linter.sh help

Code format

./linter.sh format

Code format and save

./linter.sh format-save

Code lint

./linter.sh lint

Code format and lint

./linter.sh all

Testing

We use the bats testing framework. test.sh calls the bats. But you don't need to install bats. Test tasks use docker and the docker uses bats internally and runs tests.

Run below for testing.

make setup ## Need long times to build docker images.
make test

Run below for testing on multiple Bash versions. Please do that and fix it if tests failed on CI.

make check
make test-bash-version

CI workflow

CI workflow runs when you pushed. Workflow diagram is below.

CI push

Contribution

Welcome! Welcome!

LICENSE

Source Code

๐Ÿ’ฉ LICENSE (Something like BSD license)

Logo

Creative ๐Ÿ’ฉ license (Something like public domain)

History

For Unkontributors (้–‹็™บ่€…ๅ‘ใ‘)

Please put your commands under bin directory. Run bash package.sh on a host which docker installed to generate multiple installer packages under pkg directory.

Codebase is supposed to be scanned with code formatter and static analysis tools to ensure the quality of the code. Please make sure prepared static checks are passed by running ./liner.sh all before submitting your PR. It would be appreciated if you could add tests to ./test.sh.

Please make sure the default branch of this repository is oshiri (which means "bum") not master.

bin ไปฅไธ‹ใซใชใ‚“ใ‹ๆ€ใ„ใคใ„ใŸใ‚ณใƒžใƒณใƒ‰ใ‚’ๆ”พใ‚ŠๆŠ•ใ’ใฆใใ ใ•ใ„ใ€‚ docker ใŒๅ…ฅใฃใŸ็’ฐๅขƒใง bash package.sh ใ™ใ‚‹ใจ pkg ไปฅไธ‹ใซๅ„็จฎใ‚คใƒณใ‚นใƒˆใƒผใƒฉใƒผใŒไฝœๆˆใ•ใ‚Œใพใ™ใ€‚

CIใงใ‚ณใƒผใƒ‰ใƒ•ใ‚ฉใƒผใƒžใƒƒใƒˆใจ้™็š„่งฃๆžใซใ‹ใ‘ใฆใ‚ณใƒผใƒ‰ๅ“่ณชใ‚’็ถญๆŒใ™ใ‚‹ใ‚ˆใ†ใซใชใ‚Šใพใ—ใŸใ€‚ PRใ™ใ‚‹ใจใใฏ./linter.sh allใง้™็š„่งฃๆžใ‚’ใƒ‘ใ‚นใ™ใ‚‹ใ“ใจใ‚’็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚

ๅฏ่ƒฝใชใ‚‰./test.shใซใ‚‚ใƒ†ใ‚นใƒˆใ‚ณใƒผใƒ‰ใ‚’่ฟฝๅŠ ใ—ใฆใ„ใŸใ ใ‘ใ‚‹ใจๅŠฉใ‹ใ‚Šใพใ™ใ€‚

ใชใŠใ€ใ“ใฎใƒชใƒใ‚ธใƒˆใƒชใฎใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎใƒ–ใƒฉใƒณใƒใฏoshiriใงใ‚ใ‚Šmasterใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚