diff options
author | KatolaZ <katolaz@freaknet.org> | 2019-07-24 13:02:07 +0100 |
---|---|---|
committer | KatolaZ <katolaz@freaknet.org> | 2019-07-24 13:02:07 +0100 |
commit | 00b84065d6b6b216df2c65eaa49dd6f2cd5725b5 (patch) | |
tree | f94035493f7d85a9e175133822d86aeff6b1f625 /README.md | |
parent | 6cda4416b3aa5644adee5579225c145c9c448ede (diff) |
amend README and rename to README.md
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..e65826c --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +gramscii -- interactive tool for ASCII box-and-arrows charts +============================================================ + +```gramscii``` (pronounced "grrr'a(m)sky", more or less like "ASCII" but +with a leading "grrr") is a simple CLI tool to create and edit +box-and-arrows charts using ASCII characters. + +```gramscii``` is interactive and its commands are quite intuitive to +anybody who does not need a mouse to be productive. You can move around +the screen with the usual ```hjkl``` keys, but you will travel at +ligthning speed by placing one of your other fingers on ```SHIFT```. You +start drawing a box with ```b```, and you place an arrow with ```a```. +For more information, just read the manpage. + +```gramscii``` aims at remaining small, avoiding bloat, and being +portable. It is written in ASCII C90, it requires only an ANSI +VT100-compatible terminal (real or virtual), and it does not use any +external library (nope, not even ncurses!). Hence, you should be able to +compile and run ```gramscii``` on any operating system with a C90 libc +and a VT100 terminal emulator. + +I have tested it on Linux and *BSD, compiled with ```gcc```, +```clang```, and ```tcc```, and linked it against ```glibc```, +```musl```, and whatever libc was available on FreeBSD, OpenBSD, and +NetBSD. It just worked. + +INSTALL +======= + +Edit ```config.h``` and/or ```config.mk``` to suit your preferences. +Then just: +``` +make +``` + +to build ```gramsci``` and: +``` +./gramscii +``` +to execute it. ```man``` is your friend. + + +WHY? +==== + +As most of the software out there, ```gramscii``` comes out of +frustration and pain. + +I have been producing box-and-arrow diagrams in ASCII for quite a while. +I know that there exist ad-hoc plugins for ```vim(1)``` and +```emacs(1)```, but I was not happy with any of them, to say the least. +There are also a few point-and-click GUI tools to do the same, but most +of them depend on a variety of libraries/modules. And again, why would +you need a fancy GUI to create ASCII charts? + +There has been a recent proliferation of browser-based point-and-click +tools to draw ASCII charts. Like, are you serious? Why on Earth should +people accept to load hundred thousands LOCs of obscure javascript code +on a hyper-bloated web browser and use a fancy point-and-click interface +to produce......guess what......ASCII charts that are best-viewed viewed +on a VT100 terminal? + +We must say no to madness. We must repudiate bloat. We must reject +useless featurism. Software must be reasonable, simple, small, and +functional. + +But wait... +============ + +You might have noticed that the name ```gramscii``` is reminiscent of +Antonio Gramsci, the phylosopher and politician who was among the +founders of the Italian Communist Party in 1921. Now, Gramscii (the +philosopher) strongly believed that every single human is an +intellectual, a philosopher, and an artist, and maintained that societal +changes are only possible when a class exerts intellectual and moral +leadership over its contemporaries. So just get rid of all your shiny +iPointless things and come back to reality. |