README.md - gramscii - A simple editor for ASCII box-and-arrow charts | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
README.md (3485B) | |
--- | |
1 gramscii -- interactive tool for ASCII box-and-arrows charts | |
2 ============================================================ | |
3 | |
4 `gramscii` (pronounced "grrr'a(m)sky", more or less like "ASCII" but | |
5 with a leading "grrr") is a simple CLI tool to create and edit | |
6 box-and-arrows charts using ASCII characters. | |
7 | |
8 `gramscii` is interactive and its commands are quite intuitive to | |
9 anybody who does not need a mouse to be productive. You can move around | |
10 the screen with the usual `hjkl` keys, but you will travel at | |
11 ligthning speed by placing one of your other fingers on `SHIFT`. You | |
12 start drawing a box with `b`, and you place an arrow with `a`. | |
13 For more information, just read the manpage. | |
14 | |
15 `gramscii` aims at remaining small, avoiding bloat, and being | |
16 portable. It is written in ASCII C90, it requires only an ANSI | |
17 VT100-compatible terminal (real or virtual), and it does not use any | |
18 external library (nope, not even ncurses!). Hence, you should be able to | |
19 compile and run `gramscii` on any operating system with a C90 libc | |
20 and a VT100 terminal emulator. | |
21 | |
22 I have tested it on Linux and BSD, compiled with `gcc`, | |
23 `clang`, and `tcc`, and linked it against `glibc`, | |
24 `musl`, and whatever libc was available on FreeBSD, OpenBSD, and | |
25 NetBSD. It just worked. | |
26 | |
27 INSTALL | |
28 ======= | |
29 | |
30 Edit `config.h` and/or `config.mk` to suit your preferences. | |
31 Then just: | |
32 | |
33 make | |
34 | |
35 to build `gramsci` and: | |
36 | |
37 ./gramscii | |
38 | |
39 to execute it. `man` is your friend. | |
40 | |
41 | |
42 WHY? | |
43 ==== | |
44 | |
45 As most of the software out there, `gramscii` comes out of | |
46 frustration and pain. | |
47 | |
48 I have been producing box-and-arrow diagrams in ASCII for quite a while. | |
49 I know that there exist ad-hoc plugins for `vim(1)` and | |
50 `emacs(1)`, but I was not happy with any of them, to say the least. | |
51 There are also a few point-and-click GUI tools to do the same, but most | |
52 of them depend on a variety of libraries/modules. And again, why would | |
53 you need a fancy GUI to create ASCII charts? | |
54 | |
55 There has been a recent proliferation of browser-based point-and-click | |
56 tools to draw ASCII charts. Like, are you serious? Why on Earth should | |
57 people accept to load hundred thousands LOCs of obscure javascript code | |
58 on a hyper-bloated web browser and use a fancy point-and-click interface | |
59 to produce......guess what......ASCII charts that are best-viewed viewed | |
60 on a VT100 terminal? | |
61 | |
62 We must say no to madness. We must repudiate bloat. We must reject | |
63 useless featurism. Software must be reasonable, simple, small, and | |
64 functional. | |
65 | |
66 But wait... | |
67 ============ | |
68 | |
69 You might have noticed that the name `gramscii` is reminiscent of | |
70 Antonio Gramsci, the phylosopher and politician who was among the | |
71 founders of the Italian Communist Party in 1921. Now, Gramscii (the | |
72 philosopher) strongly believed that every single human is an | |
73 intellectual, a philosopher, and an artist, and maintained that societal | |
74 changes are only possible when a class exerts intellectual and moral | |
75 leadership over its contemporaries. So just get rid of all your shiny | |
76 iPointless things and come back to reality. | |
77 | |
78 COPYING | |
79 ======= | |
80 | |
81 `gramscii` is written and maintained by Vincenzo 'KatolaZ' Nicosia | |
82 <[email protected]>. You can use, modify and/or redistribute it under | |
83 the terms of the GNU General Public Licence, either version 3 of the | |
84 License or, at your option, any later version. | |
85 | |
86 This program is distributed in the hope that it will be useful, but | |
87 WITHOUT ANY WARRANTY; without even the implied warranty of | |
88 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
89 General Public License for more details. |