<!DOCTYPE html> <html> <head> <title>Tis demo</title> <style> html { font-family: sans-serif; } h1, p { text-align: center; } pre { margin: 40px auto; width: 128ch; height: 32em; line-height: 1em; background: #eee; border: 3px solid #800; white-space: pre-wrap; word-wrap: break-word; word-break: break-all; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> </head> <body> <h1>Tis demo</h1> <p> <a href="http://github.com/ttencate/tis">Tis on GitHub</a> </p> <p> Size: <span id="size"></span> (<span id="delta"></span>) </p> <pre id="code"></pre> <p>If you quit Tis, type the <a href="https://en.wikipedia.org/wiki/Konami_Code">Konami code</a> to get it back.</p> <script> $.get('tis.min.js', function(code, textStatus, xhr) { // These are actually characters, not bytes. But we don't use any Unicode. var size = code.length; var target = 4096; $('#size').text(size); $('#delta').text( Math.abs(size - target) + ' bytes ' + (size > target ? 'over' : 'under') + ' target') .css('color', size > target ? '#800' : '#080'); $('#code').text(code); }, 'text'); </script> <script src="tis.js"></script> <script> var konamiCode = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65]; for (i in konamiCode) { // Firing a native keyboard event is way harder than it should be, // but we can fake it. // http://stackoverflow.com/questions/961532/firing-a-keyboard-event-in-javascript var e = document.createEvent('Event'); e.initEvent('keydown', true, true); e.keyCode = konamiCode[i]; document.dispatchEvent(e); } </script> </body> </html>