From 8d9b41036954096a3efe8f89b0ae35276ee1c523 Mon Sep 17 00:00:00 2001 From: domi41 Date: Sun, 7 Nov 2021 01:25:37 +0100 Subject: [PATCH] docs: document usage of term colors (and `--no-color`) --- README.md | 25 +++++++++++++--------- example/screenshot_merit_color.png | Bin 0 -> 12890 bytes example/screenshot_merit_color_sorted.png | Bin 0 -> 12885 bytes 3 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 example/screenshot_merit_color.png create mode 100644 example/screenshot_merit_color_sorted.png diff --git a/README.md b/README.md index d8ba885..fe8d189 100644 --- a/README.md +++ b/README.md @@ -31,26 +31,31 @@ You can run and get - #2 Pizza 000000000000011111111222233333333|333333334444444444444444455555555 - #1 Chips 000000001111111111111333333333333|333344444444444445555555555555555 - #3 Pasta 000000000000000001111111111111111|111122223333333333333333355555555 - - Legend: 0=reject 1=poor 2=fair 3=good 4=very good 5=excellent +![Merit profiles in ASCII art, with colors](example/screenshot_merit_color.png) You probably want to `--sort` the proposals by their rank as well: - #1 Chips 000000001111111111111333333333333|333344444444444445555555555555555 - #2 Pizza 000000000000011111111222233333333|333333334444444444444444455555555 - #3 Pasta 000000000000000001111111111111111|111122223333333333333333355555555 - - Legend: 0=reject 1=poor 2=fair 3=good 4=very good 5=excellent + ./mj example.csv --sort + +![Merit profiles in ASCII art, with colors, and sorted](example/screenshot_merit_color_sorted.png) or use `-` to read from `stdin`: cat example.csv | mj - --sort +You can also disable color with the flag `--no-color`: + + ./mj example.csv --no-color + + #2 Pizza 000000000000011111111222233333333|333333334444444444444444455555555 + #1 Chips 000000001111111111111333333333333|333344444444444445555555555555555 + #3 Pasta 000000000000000001111111111111111|111122223333333333333333355555555 + + Legend: 0=reject 1=poor 2=fair 3=good 4=very good 5=excellent + + ### Balancing Majority Judgment, to stay fair, requires tallies to be balanced ; **all proposals must have received the same amount of judgments**. diff --git a/example/screenshot_merit_color.png b/example/screenshot_merit_color.png new file mode 100644 index 0000000000000000000000000000000000000000..37bc2b5a99a561f0d8752b3ec47c8b38d2bb99da GIT binary patch literal 12890 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 literal 0 HcmV?d00001 diff --git a/example/screenshot_merit_color_sorted.png b/example/screenshot_merit_color_sorted.png new file mode 100644 index 0000000000000000000000000000000000000000..193c43b23c3a9aea14e977be82ad2e39f9391f03 GIT binary patch literal 12885 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 literal 0 HcmV?d00001