• Stars
    star
    582
  • Rank 76,801 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 8 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Library to animate between two ascii images -

AsciiMorph

AsciiMorph is a small stand alone javascript library for rendering ascii art and creations into elements, allowing for them to be changed out with a morphing transition.

Demo

Here's a gif of it in action. You can also play with the demo live here.

Ascii Morph in action

Usage

You'll need an dom element for the ascii's to be rendered within.

<!-- Pre elements are perfect for this. -->
<pre class="ascii-element">
</pre>

Next up, you will want to initialize the library. The second parameter is the width and height properties you want in your rendering square. The ascii will be rendered centered within them, and fill the rest with white space. Naturally this looks best with monospace fonts.

// Initialize AsciiMorph
var element = document.querySelector('pre');
AsciiMorph(element, {x: 50,y: 25});

Then you can get to the fun, rendering elements, and morphing between them.

// First, define some ascii art.
var bird = [
 "                             /",
 "                            /",
 "                           /;",
 "                          //",
 "                         ;/",
 "                       ,//",
 "                   _,-' ;_,,",
 "                _,'-_  ;|,'",
 "            _,-'_,..--. |",
 "    ___   .'-'_)'  ) _)\\|      ___",
 "  ,'\"\"\"`'' _  )   ) _)  ''--'''_,-'",
 "-={-o-  /|    )  _)  ) ; '_,--''",
 "  \\ -' ,`.  ) .)  _)_,''|",
 "   `.\"(   `------''     /",
 "     `.\\             _,'",
 "       `-.____....-\\\\",
 "                 || \\\\",
 "                 // ||",
 "                //  ||",
 "            _-.//_ _||_,",
 "              ,'  ,-'/"
 ]

var mona = [
 "         ____",
 "        o8%8888,",
 "      o88%8888888.",
 "     8'-    -:8888b",
 "    8'         8888",
 "   d8.-=. ,==-.:888b",
 "   >8 `~` :`~' d8888",
 "   88         ,88888",
 "   88b. `-~  ':88888",
 "   888b ~==~ .:88888",
 "   88888o--:':::8888",
 "   `88888| :::' 8888b",
 "   8888^^'       8888b",
 "  d888           ,%888b.",
 " d88%            %%%8--'-.",
 "/88:.__ ,       _%-' ---  -",
 "    '''::===..-'   =  --.  `",
 ]
 
// Then, you can render (will render instantly)
AsciiMorph.render(bird);

// Then morph, to a new creation
AsciiMorph.morph(mona);

License

Copyright (c) 2016 Tim Holman - http://tholman.com

The MIT License

More Repositories

1

elevator.js

Finally, a "back to top" button that behaves like a real elevator.
JavaScript
6,622
star
2

github-corners

A fresher "Fork me on GitHub" callout.
HTML
4,931
star
3

zenpen

A minimalist writing zone.
JavaScript
3,764
star
4

cursor-effects

Old-school cursor effects for your browser built with modern JavaScript
JavaScript
3,355
star
5

intense-images

A simple library to view large images up close using simple mouse interaction, and the full screen.
JavaScript
2,577
star
6

generative-artistry

A website for self coding generative art tutorials.
JavaScript
837
star
7

giflinks

The best thing to happen to the internet since the <a> tag.
JavaScript
796
star
8

dom-animator

A nifty javascript library to run animations, hidden in comment nodes, within the dom.
JavaScript
628
star
9

obnoxious.css

Animations for the strong of heart, and stupid of mind.
CSS
510
star
10

console-dot-frog

Forget console logs, console.frog is where its all at!
JavaScript
317
star
11

overscroll

Javascript for adding small easter eggs when over scrolling on apple devices.
JavaScript
298
star
12

texter

Texter is a little app that lets you explore your creativity by drawing with text.
JavaScript
274
star
13

the-indie-web

A hotspot for indie creations on the web
CSS
254
star
14

tutorial-markdown

Interactive coding tutorials with markdown
JavaScript
246
star
15

what-have-you-made-today

Chrome & FireFox extension to replace the default home page. What have you made today?
Vue
232
star
16

discreet-twitter-ui

A minimal ui/ux concept for twitter buttons allowing hover reveals under an icon.
CSS
221
star
17

office-simulator

Miss the office life? You won't any more with this wonderful office slack simulator.
JavaScript
161
star
18

tileJs

Windows Metro Tiles with css3 and javascript
JavaScript
154
star
19

buddy

Chrome extension, and friend from hell
JavaScript
134
star
20

smelvetica

Sorry y'all, got a takedown from monotype.
134
star
21

bsod.js

Blue screen of death for the web, because debugging shouldn't be easy.
JavaScript
111
star
22

binary-music-player

A binary music player, with customizable notes & playback.
HTML
101
star
23

mosquito-js

An annoying mosquito created with the web audio api.
JavaScript
96
star
24

unicoder.js

A small js library to convert text into โ“ฃโ“”โ“งโ“ฃ.
JavaScript
92
star
25

console-fright-night

Open the browser console, get a fright. Just like that!
JavaScript
88
star
26

the-zen-zone

Digital meditation aid
JavaScript
83
star
27

the-pattern-library

A library of beautiful patterns, created by talented designers.
JavaScript
77
star
28

palettab

New fonts and colors with every new tab.
JavaScript
69
star
29

image-nodes

Javascript experiment using image data to create a small interactive particle system
CSS
60
star
30

emoji-intensifies

A quick and simple tool to make shaky "intensifies" emoji.
JavaScript
55
star
31

meettheipsums

A website to link out to all of the awesome filler text in the world.
HTML
52
star
32

s.js

Canvas JavaScript polyfill for the vital and pivotal S we all drew in school.
JavaScript
51
star
33

the-internet

Basically the internet (or most important parts) in a module.
JavaScript
49
star
34

resizer

A small library to improve the user experience of a text box, by decreasing the font size slightly if it is filled with text.
JavaScript
49
star
35

beautiful-curves

A simple generative drawing app using the html5 canvas
JavaScript
39
star
36

cant-not-tweet-this

Taking annoying social media popup crap to the next level!
CSS
38
star
37

long-doge-challenge

The Long Doge Challenge
HTML
36
star
38

concentrics

A little web experiment, using concentric circles and squares to create abstract arty stuff!
JavaScript
35
star
39

abstract-clocks

Abstract Clocks, telling the time in abstract & beautiful ways.
HTML
34
star
40

tetris-pieces

A beautiful AI Tetris, playing on your wall!
JavaScript
33
star
41

rasterizer

Experimenting with rasterization with javascript + the html5 canvas
JavaScript
30
star
42

checkboxrace

A checkbox based race
HTML
29
star
43

asciiFaceSaver

An osx screen saver, looping over various ascii faces. Written in Swift.
Swift
26
star
44

interactive-banners

A few html5 experiments using js/canvas to create interactive banners
JavaScript
26
star
45

puginarug

Honor the Pug in a Rug
HTML
24
star
46

mondrian-and-me

A "Useless Website" honoring Piet Mondrian's fantastic art.
HTML
23
star
47

useless-web-archive

An archive for the sites of "the useless web"
HTML
23
star
48

Dripping-Paint

Small html5 canvas experiment to simulate a simple dripping paint effect
JavaScript
20
star
49

tholman-blog

Source to my personal blog and website.
CSS
19
star
50

thats-the-finger

The finger. Thats it.
JavaScript
14
star
51

star-spangled-browser

A chrome plugin to blow minds when hovering the word america.
JavaScript
13
star
52

one-square-minesweeper

A game of minesweeper with only one square to sweep. Fun for the whole family.
CSS
11
star
53

scripts-for-life

A few bash shells scripts I use to make life easier.
Shell
9
star
54

human-music

Sit back and stretch your legs and enjoy the relaxing tunes of Earth radio.
HTML
5
star
55

tholman

A repo about me!
1
star
56

reflex-toys

Reflex Toys
HTML
1
star