# nimisewi nimisewi is a small program that outputs random toki pona phrase. [toki pona](https://tokipona.org) is a small conlang created by sonja lang. [first implementation](https://fsl.aaoth.xyz/nimisewi.py) was created using python, but then i decided to create more portable version. ## dependencies - cmake (>=3.10) ## installation installation is very straightforward: ```terminal $ fsl clone https://fsl.aaoth.xyz/nimisewi.c $ cd nimisewi $ mkdir build && cd build $ cmake .. $ cmake --build . $ doas make install ``` ### compilation options - **BUILD_CGI** -- compile `nimisewi.cgi`, a cgi version of nimisewi (default OFF). [see example](https://aaoth.xyz/nimisewi). - **CGI_INSTALL_DIR** -- installation directory for `nimisewi.cgi` (default "$PREFIX/var/www/htdocs/cgi-bin"). - **BUILD_GEMINI_CGI** -- compile `nimisewi_gemini.cgi`, a cgi script for gemini protocol (default OFF). [see example](gemini://aaoth.xyz/cgi-bin/nimisewi). - **GEMINI_CGI_INSTALL_DIR** -- installation directory for `nimisewi_gemini.cgi` (default "$PREFIX/var/gemini/cgi-bin"). to specify these options, pass them as `-D{OPTION}` to initial cmake invocation. for example, these commands result in building both http and gemini versions of cgi script. ``` terminal $ mkdir build && cd build $ cmake -DBUILD_CGI=ON -DBUILD_GEMINI=ON .. $ cmake --build . ``` ## usage ```terminal $ nimisewi musi taso jaki pi selo olin lukin ``` ## adding new words to add new words, edit `nimitoki.txt` file. add one word per line. then, just clean everything and recompile the program. ```terminal $ vim nimitoki.txt $ cd build $ make clean $ make ... ``` ## changelog - **0.0.1** -- initial release - **0.0.2** -- added license and comments to the code - **0.0.3** -- added cgi for http and gemini, separated main code from nimisewi core - **0.0.3.1** -- fixed errors in http header - **0.0.4** -- added title and favicon to http cgi - **0.0.4.1** -- fixed errors in http cgi - **0.0.4.2** -- added missing error check to main - **0.1.0** -- added words from lipu ku, added gnu autotools build system - **0.1.1** -- added 'ku' word itself - **0.2.0** -- switched to cmake build system, added `-v` and `--version` flags to nimisewi, that are outputting version information and compile features ## bugs i am pretty much beginner in c, so it is possible that the code contains some odd things. if you have found something wrong or weird, send me an email to `aaoth_at_aaoth_dot_xyz`. ## license all code that makes up `nimisewi`, `nimisewi.cgi`, `nimisewi_gemini.cgi` and `makenimitoki` programs is licensed under ISC license (see [LICENSE](/file?name=LICENSE&ci=tip)). `nimitoki.txt` is in public domain.