boxdraw
v1.0.6
Published
Convert ascii grid drawings into unicode 'box-drawing' characters
Downloads
12
Readme
boxdraw
Convert ascii grid drawings into unicode "box-drawing" characters.
Contents - Install | Usage | Examples | Tests | License
Install
npm install -g boxdraw # installs "boxdraw" to npm bin, ensure that directory is on your path
boxdraw <<-EOF # PRESS ENTER
> +-+ # PASTE INPUT
> | |
> +-+
> EOF # ENTER "EOF"
┌─┐ # PRESS ENTER
│ │
└─┘
Or,
git clone [email protected]:evnp/boxdraw.git
cp ./boxdraw/boxdraw ~/bin # or /usr/local/bin, or any other dir on $PATH
# Or run boxdraw script directly from source:
cd boxdraw
./boxdraw < input.txt
# Run 'demo' to get a sense of expected input/output:
cat test-in.txt # input
npm run demo # output
Usage
boxdraw --help
Usage:
boxdraw <<-EOF # PRESS ENTER
> +-+ # PASTE INPUT
> +-+
> EOF # ENTER "EOF"
┌─┐ # PRESS ENTER
└─┘
OR
boxdraw < inputfile.txt
Options:
boxdraw 8 < inputfile.txt # Draw with margin of 8 lines/spaces
boxdraw 0 bold < inputfile.txt # Draw with bold "box-drawing" characters
boxdraw 2 double < inputfile.txt # Draw with double-line "box-drawing" characters AND margin
More information:
https://github.com/evnp/boxdraw
https://en.wikipedia.org/wiki/Box-drawing_character
Run on file input
boxdraw < inputfile.txt
Run on pasted input
boxdraw <<-EOF # PRESS ENTER
> +-+---+ # PASTE INPUT
> | | |
> +-+-+ |
> | | | |
> +-+-+-+
> EOF # ENTER "EOF"
# PRESS ENTER
┌─┬───┐
│ │ │
├─┼─┐ │
│ │ │ │
└─┴─┴─┘
Draw grids for input
http://asciiflow.com/
Style options
Margins:
boxdraw 3 <<-EOF
> +-+---+
> | | |
> +-+-+ |
> | | | |
> +-+-+-+
> EOF
┌─┬───┐
│ │ │
├─┼─┐ │
│ │ │ │
└─┴─┴─┘
Line style:
boxdraw 0 bold <<-EOF
> +-+---+
> | | |
> +-+-+ |
> | | | |
> +-+-+-+
> EOF
┏━┳━━━┓
┃ ┃ ┃
┣━╋━┓ ┃
┃ ┃ ┃ ┃
┗━┻━┻━┛
boxdraw 0 double <<-EOF
> +-+---+
> | | |
> +-+-+ |
> | | | |
> +-+-+-+
> EOF
╔═╦═══╗
║ ║ ║
╠═╬═╗ ║
║ ║ ║ ║
╚═╩═╩═╝
Tests
Run once:
npm install
npm test
Use fswatch
to re-run tests on file changes:
brew install fswatch
npm install
npm run testw
Non-OSX: replace brew install fswatch
with package manager of choice (see fswatch docs)
License
MIT