0.1.0 • Published 5 years ago
asciitosvg-grid v0.1.0
asciitosvg-grid
Basic ascii-to-svg renderer (built out of ivanceras/elm-examples/elm-bot-lines).
The svg output is aligned to a grid, with all text in the system-default monospace
font.
Automatically optimizes svg output using SVGO, since the renderer produces inefficient SVG.
Render either by executable or by server, which allows for ASCII diagrams embedded directly into markdown and rendered with no build step.
Executable Usage
Installation
npm install --global asciitosvg-grid
Usage
$ cat input.txt
.-------------.
| Hello World |
| .----+
|_______/
$ asciitosvg < input.txt > output.svg
output.svg:
FAQ
Are you really using Puppeteer to open a webpage running a modified version of an ancient Elm example app rather than trying to extract the core convert function from the app's source?
This is just an executable I created to replace going to this page every time I wanted to tweak my legacy ascii diagrams. If you want an ascii-to-svg renderer, you should probably use svgbob (by the same author as elm-bot-lines), which comes with its own executable:
cargo install --git https://github.com/ivanceras/svgbob/ --path svgbob_cli
Server Version
$ encodeascii -f raw -m < demo/input.txt
![ascii diagram rendered with asciitosvg](http://localhost:3000/raw/\
\.\-\-\-\-\-\-\-\-\-\-\-\-\-\.\
\|\ \H\e\l\l\o\ \W\o\r\l\d\ \|\
\|\ \ \ \ \ \ \ \ \.\-\-\-\-\+\
\|\_\_\_\_\_\_\_\/)
$ node server.js
Listening...
If I were a pigeon and a glass of chalces and a black bag and we stepped outside and the crowd was going on. The snow was the last wood and he spoke. I was sure I thought he was going to sleep a little now and he could afford tomorrow while he hated.
![ascii diagram rendered with asciitosvg](http://localhost:3000/raw/\
\.\-\-\-\-\-\-\-\-\-\-\-\-\-\.\
\|\ \H\e\l\l\o\ \W\o\r\l\d\ \|\
\|\ \ \ \ \ \ \ \ \.\-\-\-\-\+\
\|\_\_\_\_\_\_\_\/)
filler text generated using Break the Block
License
TODO
- fix unicode format for ASCII encoding/rendering (not sure whether the problem is in ./bin/encodeAscii or server.js)
- add to README under Server Version: a description of server/md img embed functionality (copy about running the server and embedding diagrams in markdown img src)