Skip to main content
https://travis-ci.org/hirokiky/genaa.png?branch=master

genaa is a command line tool for generating ASCII Art:

  +-----+   +---+   +-----+     +-----+   +-----+
  |     |   |   |   |     |     |     |   |     |
+-+---+ | +-+   +-+ | +---+-+ +-+---+ | +-+---+ |
| |   | | |       | | |   | | | |   | | | |   | |
| |   | | | +-----+ | |   | | | |   | | | |   | |
| |   | | | |       | |   | | | |   | | | |   | |
+-+---+ | +-+-----+ | |   | | +-+---+ | +-+---+ |
  |     |   |     | | |   | |   |     |   |     |
  +---+ |   +-----+ +-+   +-+   +-----+   +-----+
      | |
  +---+-+
  |   |
  +---+

Install

Install genaa by using pip.

pip install genaa

Now genaa is supporting Python 2.7 and 3.3.

Basic Usage

genaa has some sub-commands to render various ASCII Arts:

  • box

  • block

genaa box is the most basic and simple feature. It can render a block containing text input by user:

$ genaa box --text Hello!
+--------+
| Hello! |
+--------+

genaa block is a command to render some free shape blocks. It takes some ‘dots’ and translate it to ASCII Art blocks. This example show you how to create a well-known TETRIS block from command line:

$ genaa block --text '
> ***
>  * '

+-----+
|     |
+-+ +-+
  | |
  +-+

As filter

Above examples are used as one of simple command line tools, using –text argument. But, genaa usually behaves as a filter command, like this:

$ echo -en 'Hello world!\nThis is genaa' | genaa box
+---------------+
| Hello world!  |
| This is genaa |
+---------------+

Generally, it is recommended to use from some editors. Most editors has a feature to pass the selected text to some shell command and input returned value. On Emacs, you can use ‘shell-command-on-region’.

genaa box

You can specify these arguments to genaa box:

-h, --help            show this help message and exit
-t TEXT, --text TEXT  Passing text by argument into box
-W WIDTH, --width WIDTH
-H HEIGHT, --height HEIGHT
-s {ccomment,ascii,hash,simple}, --style {ccomment,ascii,hash,simple}
-l, --list            Displaying examples for each styles

–width and –height

By default, genaa box command render the box with automatically specified width/height. But, you can specify these width and height of the box manually, like this:

$ echo -en 'Hello world!\nThis is genaa' | genaa box --width=20 --height=3
+----------------------+
| Hello world!         |
| This is genaa        |
|                      |
+----------------------+

–style

This example is using hash style which is used as comment block in Python:

$ echo -en 'Hello world!\nThis is genaa' | genaa box --style=hash
#################
# Hello world!  #
# This is genaa #
#################

–list

The list of styles are on genaa box –list command:

$ genaa box --list
ascii:
+-----------------------+
| Hello.                |
| How about this style? |
+-----------------------+

ccomment:
/************************
* Hello.                *
* How about this style? *
************************/

hash:
#########################

–align

genaa box command put the text at the left side of the box. It also supports putting the text on center and right:

genaa box --align=center --text=Hello --width=20
+----------------------+
|        Hello         |
+----------------------+

genaa block

You can specify these arguments to genaa block:

-h, --help            show this help message and exit
-t TEXT, --text TEXT  Passing text by argument into block
-s {ascii,simple}, --style {ascii,simple}
-l, --list            Displaying examples for each styles

–style

This example is using simple style. You can see this clearly by some mono-space fonts:

$ genaa block --style=simple
**
* *
 *
┌───┐
│   │
│ ┌─┼─┐
│ │ │ │
└─┼─┼─┘
  │ │
  └─┘

–list

The list of styles are on genaa block –list command:

$ genaa block --list
ascii:
  +-+
  | |
  +-+-+   +-+ +-+       +-+   +-+       +-+
    | |   | | | |       | |   | |       | |
+---+ |   +-+-+ |   +-+ | |   +-+---+   +-+-+
|     |     |   |   | | | |     |   |     | |
+-----+     | +-+   +-+-+ |   +-+ +-+ +---+ |
            | |       |   |   |   |   |     |
            +-+       +---+   +---+   +-----+

simple:
  ┌─┐
  │ │
  └─┼─┐   ┌─┐ ┌─┐       ┌─┐   ┌─┐       ┌─┐
    │ │   │ │ │ │       │ │   │ │       │ │
┌───┘ │   └─┼─┘ │   ┌─┐ │ │   └─┼───┐   └─┼─┐

Changes

0.4 (2013-1-17)

Multi-width characters support (like japanese)

0.3 (2013-1-12)

Python2 support (2.7 only)

0.2 (2013-1-3)

Added genaa block command. Added –list argument to genaa box.

0.1 (2013-12-28)

Initial release. Supporting:

  • Rendering boxes with text

    • Auto specifying width and height

    • Changing style of boxes

    • Align specifying (right, center, left)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genaa-0.4.tar.gz (11.1 kB view details)

Uploaded Source

File details

Details for the file genaa-0.4.tar.gz.

File metadata

  • Download URL: genaa-0.4.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for genaa-0.4.tar.gz
Algorithm Hash digest
SHA256 6ba9263737df4ee49957e4c00dc8214d4a5d2099a05c9e20f355ec00b8274c84
MD5 cc825e0804fc4208fcbcef2b45e99552
BLAKE2b-256 fe0d27975275740d5b2e3a2afa12a278b551a561d26a442bc74f10df972f4821

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4 This release

1 file

0.3

1 file

0.2

1 file

0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page