You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

430 lines
12 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-gb" xml:lang="en-gb">
<head>
<meta charset="UTF-8"/>
<meta name="description" content="Infinite ASCII diagrams, resize, freeform draw, and export straight to text/html."/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-capable" content="yes" />
<link rel="icon" sizes="196x196" href="images/favicon.png"/>
<link rel="stylesheet" type="text/css" href="addtohomescreen.css"/>
<link rel="preload" href="js-compiled.js" as="script"/>
<link rel="preload" href="addtohomescreen.min.js" as="script"/>
<link rel="preload" href="images/box-icon.png" as="image"/>
<link rel="preload" href="images/line-icon.png" as="image"/>
<link rel="preload" href="images/arrow-icon.png" as="image"/>
<link rel="preload" href="images/freeform-icon.png" as="image"/>
<link rel="preload" href="images/erase-icon.png" as="image"/>
<link rel="preload" href="images/move-icon.png" as="image"/>
<link rel="preload" href="images/text-icon.png" as="image"/>
<link rel="preload" href="images/export-icon.png" as="image"/>
<link rel="preload" href="images/import-icon.png" as="image"/>
<link rel="preload" href="images/clear-icon.png" as="image"/>
<link rel="preload" href="images/undo-icon.png" as="image"/>
<link rel="preload" href="images/redo-icon.png" as="image"/>
<link rel="preload" href="images/select-icon.png" as="image"/>
<link rel="preload" href="images/info-icon.png" as="image"/>
<link rel="preload" href="images/logo-bar.png" as="image"/>
<link rel="preload" href="images/logo-options.png" as="image"/>
<title>ASCIIFlow Infinity</title>
<style>
* {
font-weight: bold;
font-family: sans-serif;
font-size: 0.95em;
color: #666;
}
a {
color: #FF9E20;
}
body {
margin: 0;
}
button {
cursor: pointer;
}
#draw-tools {
text-align: left;
padding-left: 120px;
display: inline-block;
position: fixed;
width: 100%;
background-color: #FFF;
z-index: 100;
box-shadow: 0 1px 5px 0 #BBB;
}
#logo-bar {
position: fixed;
left: 0;
z-index: 101;
margin: 8px;
}
#file-tools {
text-align: right;
display: inline-block;
position: fixed;
right: 2px;
z-index: 100;
}
#draw-tools > button,
#file-tools > button {
font-size: 12px;
vertical-align: top;
display: inline-block;
margin: 8px 8px;
width: 24px;
height: 24px;
text-align: center;
cursor: pointer;
outline: 0 !important;
background-size: 200% 100% !important;
background-color: #FFF;
}
#file-tools > button.info-image {
margin-left: 30px;
}
.info-icon,
.info-icon-file {
width: 30px;
height: 30px;
margin: 0 0 5px -4px;
background-size: 100% !important;
background-size: 200% 100% !important;
display: inline-block;
}
.info-description {
vertical-align: text-bottom;
margin-left: 10px;
display: inline-block;
height: 30px;
width: 64%;
text-align: left;
}
.info-description br {
display: none;
}
.dialog span {
color: #AAA;
}
/* Mobile overrides */
@media (max-width: 780px) {
#logo-bar {
margin: 10px;
}
#draw-tools > button,
#file-tools > button {
margin: 10px 4px;
}
#draw-tools {
text-align: center;
padding-left: 0;
}
/* Move file tools to the bottom. */
#file-tools {
left: 0;
padding-left: 9px;
bottom: 0;
background-color: #FFF;
width: 100%;
text-align: left;
box-shadow: 0 -1px 5px 0 #BBB;
}
#options-button {
position: fixed;
right: 6px;
}
}
.dialog {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: 85%;
height: 89%;
max-width: 640px;
max-height: 380px;
background: #FFF;
display: none;
z-index: 100;
padding: 20px;
text-align: center;
box-shadow: 0 0 5px 0 #BBB;
}
.visible {
display: block !important;
}
#draw-tools > button,
#file-tools > button {
border-width: 0;
}
button.active,
.info-icon {
background-position: right;
}
.dialog > button {
margin-top: 6px;
display: inline-block;
}
.close-dialog-button,
#import-submit-button,
#text-tool-close {
position: absolute;
right: 0;
bottom: 0;
margin: 7px;
border: 0;
-moz-appearance: none;
-webkit-appearance: none;
background-color: transparent;
}
@media (max-width: 500px) {
#logo-bar {
display: none;
}
.info-description {
vertical-align: top;
width: 84%;
}
.dialog,
.dialog p {
font-size: 0.90em !important;
}
.dialog {
padding: 10px;
max-height: 410px;
}
.info-icon,
.info-icon-file {
margin: 0 0 10px -4px;
}
.info-description br {
display: block;
}
.close-dialog-button,
#import-submit-button,
#text-tool-close {
margin: 10px 3px;
}
}
#options-logo {
margin: 10px 0 0;
}
#options-scroll {
overflow-y: scroll;
height: 91%;
-webkit-overflow-scrolling: touch;
}
#options-scroll p {
margin: 10px 0 15px;
}
.dialog-button-bar {
position: absolute;
right: 0;
bottom: 0;
width: 100%;
height: 8%;
min-height: 34px;
background-color: #DDD;
text-align: right;
}
#import-submit-button {
margin-right: 80px;
}
#ascii-canvas {
position: fixed;
left: 0;
top: 0;
}
textarea {
width: 100%;
height: 91%;
font-size: 1.2em;
font-weight: normal;
overflow: hidden;
resize: none;
margin: 0;
padding: 0;
border: 0;
font-family: monospace;
white-space: pre;
}
#text-tool-widget {
display: none;
z-index: 100;
position: fixed;
top: 60px;
left: 0;
right: 0;
width: 300px;
height: 100px;
margin: auto;
text-align: center;
box-shadow: 0 0 3px 3px #CCC;
}
.fade-out {
opacity: 0;
}
.box-image { background-image: url('images/box-icon.png'); }
.line-image { background-image: url('images/line-icon.png'); }
.arrow-image { background-image: url('images/arrow-icon.png'); }
.freeform-image { background-image: url('images/freeform-icon.png'); }
.erase-image { background-image: url('images/erase-icon.png'); }
.move-image { background-image: url('images/move-icon.png'); }
.text-image { background-image: url('images/text-icon.png'); }
.export-image { background-image: url('images/export-icon.png'); }
.import-image { background-image: url('images/import-icon.png'); }
.clear-image { background-image: url('images/clear-icon.png'); }
.undo-image { background-image: url('images/undo-icon.png'); }
.redo-image { background-image: url('images/redo-icon.png'); }
.select-image { background-image: url('images/select-icon.png'); }
.info-image { background-image: url('images/info-icon.png'); }
</style>
</head>
<body style="display:none">
<img id="logo-bar" src="images/logo-bar.png" width="88" height="24" alt="ASCIIFlow" />
<div id="draw-tools">
<button id="box-button" class="tool active box-image" title="Draw boxes"></button>
<button id="line-button" class="tool line-image" title="Draw connecting lines"></button>
<button id="arrow-button" class="tool arrow-image" title="Draw arrows"></button>
<button id="freeform-button" class="tool freeform-image" title="Freeform drawing"></button>
<button id="erase-button" class="tool erase-image" title="Erase square areas"></button>
<button id="move-button" class="tool move-image" title="Resize/move boxes and lines"></button>
<button id="text-button" class="tool text-image" title="Text tool"></button>
<button id="select-button" class="tool select-image" title="Select, copy, cut and move"></button>
</div>
<div id="file-tools">
<button id="export-button" class="tool export-image" title="Export"></button>
<button id="import-button" class="tool import-image" title="Import"></button>
<button id="clear-button" class="tool clear-image" title="Clear"></button>
<button id="undo-button" class="tool undo-image" title="Undo"></button>
<button id="redo-button" class="tool redo-image" title="Redo"></button>
<button id="options-button" class="tool info-image" title="Info"></button>
</div>
<div id="export-button-dialog" class="dialog">
<textarea readonly id="export-area"></textarea>
<div class="dialog-button-bar">
<button class="close-dialog-button">Close</button>
</div>
</div>
<div id="options-button-dialog" class="dialog">
<div id="options-scroll">
<img id="options-logo" src="images/logo-options.png" width="176" height="48" alt="ASCIIFlow Infinity" />
<br>
<button id="use-lines-button">Lines Mode</button>
<button id="use-ascii-button">ASCII Mode</button><br>
<p>Moving around.<br>
Desktop Windows: <span>Hold CTRL and drag the screen.</span><br>
Desktop OSX: <span>Hold CMD and drag the screen.</span><br>
Mobile: <span>Drag quickly to move. Press and hold to start drawing. Pinch to zoom in/out.</span></p>
<div class="info-icon box-image"></div><div class="info-description">Draw boxes. <span>You can resize them later with the Resize tool.</span></div><br>
<div class="info-icon line-image"></div><div class="info-description">Draw lines. <span>Connect it to another line to change the orientation.</span></div><br>
<div class="info-icon arrow-image"></div><div class="info-description">Draw arrows. <span>Connect it to another line to change the orientation.</span></div><br>
<div class="info-icon freeform-image"></div><div class="info-description">Draw freehand. <span>Press a character on the keyboard and draw with it.</span></div><br>
<div class="info-icon erase-image"></div><div class="info-description">Erase. <span>Drag out an area to remove its contents from the canvas.</span></div><br>
<div class="info-icon move-image"></div><div class="info-description">Resize boxes and lines. <span>Drag a line to change its size/shape.</span></div><br>
<div class="info-icon text-image"></div><div class="info-description">Type text. <span>Click and type where you'd like to add text to the canvas.</span></div><br>
<br>
<div class="info-icon-file export-image"></div><div class="info-description">Export. <span>Copy your work to use it outside of ASCIIFlow.</span></div><br>
<div class="info-icon-file import-image"></div><div class="info-description">Import. <span>Paste ASCII/text to import it onto the canvas.</span></div><br>
<div class="info-icon-file clear-image"></div><div class="info-description">Clear. <span>Remove the entire contents from the canvas. Can be undone.</span></div><br>
<div class="info-icon-file undo-image"></div><div class="info-description">Undo. <br><span>Made a mistake? Undo!</span></div><br>
<div class="info-icon-file redo-image"></div><div class="info-description">Redo. <br><span>Too many Undo's? Redo!</span></div><br>
<br>
<div>File issues as bugs <a href="https://github.com/lewish/asciiflow2/issues" target="_blank" rel="noreferrer noopener">here</a>.</div><br>
<div>Return to the original <a href="http://stable.ascii-flow.appspot.com/">ASCIIFlow</a>.</div><br>
Developed by <a href="https://plus.google.com/+LewisHemens/about">Lewis</a>, Designed by <a href="mailto:info@samirvine.co.uk">Sam</a> and <a href="mailto:ryangilbanks@gmail.com">Ryan</a>.
<br>
<br>
</div>
<div class="dialog-button-bar">
<button class="close-dialog-button">Close</button>
</div>
</div>
<div id="import-button-dialog" class="dialog">
<textarea id="import-area"></textarea>
<div class="dialog-button-bar">
<button class="close-dialog-button">Close</button>
<button id="import-submit-button">Import</button>
</div>
</div>
<!-- These dialogs are handled seperately. -->
<div id="text-tool-widget">
<textarea id="text-tool-input"></textarea>
<div class="dialog-button-bar">
<button id="text-tool-close">Close</button>
</div>
</div>
<textarea id="freeform-tool-input"></textarea>
<canvas id="ascii-canvas"></canvas>
<script nomodule="" defer="" src="js-compiled.js"></script>
<script type="module" src="js-lib/launch.js"></script>
<script src="addtohomescreen.min.js"></script>
<script>
addToHomescreen({
startDelay: 6
});
</script>
</body>
</html>