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
- Installation
- Usage
- Development
- Contribution
- LICENSE
- History
- For Unkontributors (้็บ่ ๅใ)
Commands
Command | Description |
---|---|
super_unko | Controles sub unkommands |
unko.tr | Convert various expressions equals to poop into |
unko.ls | Shows various poop expression. |
unko.yes | Generate |
unko.tower | Build your poop tower. |
unko.pyramid | Build your poop pyramid. |
bigunko.show | Big poop. |
unko.printpnm | Generate |
unko.puzzle | Sliding block puzzle. |
unko.toilet | Display large |
unko.grep | Print lines matching a |
unko.say | King |
unko.shout | King |
unko.think | King |
unko.life | Play |
unko.any | Simple wrapper to |
unko.king | Build your king shift tower. |
unko.fizzbuzz | No need to implement FizzBuzz. |
unko.ping | Ping the |
unko.encode | Encode/Decode data and print to standard output. |
unko.date | TBD |
unko.awk | TBD |
unko.xargs | TBD |
Installation
Linux
yum
(RHEL compatible distros)
With $ sudo yum install https://git.io/superunko.linux.rpm
Uninstall (not super_unko
)
$ sudo yum remove superunko
apt
(Debian base distros)
With $ 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.
Contribution
Welcome! Welcome!
LICENSE
Source Code
Logo
Creative
History
- ใทใงใซ่ธๅๅผทไผไธญใซ็่ชใใsuper_unkoใชใใธใใชใๅทกใๆฒๅไบคใ - Togetter
- ใใพใจใใใใชใใsuper_unkoใชใใธใใชใในใฏในใฏๆ้ทใ็พฉๅๆใ - Togetter
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
ใงใฏใใใพใใใ