From 244ea2bdc064561f52ce115205885363205288c5 Mon Sep 17 00:00:00 2001 From: Bamidev Date: Mon, 11 Mar 2024 21:46:53 +0100 Subject: [PATCH] Improve layout of the terminal example. --- examples/northern-lights.txt | 2 +- examples/preview-art.sh | 0 examples/resources/ShareTechMono-Regular.ttf | Bin 42748 -> 0 bytes examples/resources/main.js | 19 +++++++++++++------ examples/resources/style.css | 8 ++------ examples/resources/terminal.html | 4 +++- 6 files changed, 19 insertions(+), 14 deletions(-) mode change 100644 => 100755 examples/preview-art.sh delete mode 100644 examples/resources/ShareTechMono-Regular.ttf diff --git a/examples/northern-lights.txt b/examples/northern-lights.txt index f31a429..8f97b6e 100644 --- a/examples/northern-lights.txt +++ b/examples/northern-lights.txt @@ -19,4 +19,4 @@ __ + * `' `'|. `: "' `---"""----....____,..^---`^``----.,.___ `. `. . ____,.,- ___,--'""`---"' ^ ^ ^ ^ """'---,..___ __,..---""' ---"' ^ ``--..,__ D. Rice \ No newline at end of file +--"' ^ ``--..,__ D. Rice diff --git a/examples/preview-art.sh b/examples/preview-art.sh old mode 100644 new mode 100755 diff --git a/examples/resources/ShareTechMono-Regular.ttf b/examples/resources/ShareTechMono-Regular.ttf deleted file mode 100644 index 29c2b8b44c6d001a45b97931766a50c927e6c993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42748 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≫2&A!^s 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') + .replaceAll("\n", '
') +} + function onOutputReceived( output ) { let span = document.createElement("span") - span.innerText = output + span.innerHTML = escapeText(output) - document.body.appendChild( span ) + document.body.firstElementChild.appendChild( span ) } function onErrorOutputReceived( output ) { let span = document.createElement("span") span.setAttribute("class", "stderr") - span.innerText = output + span.innerHTML = escapeText(output) - document.body.appendChild( span ) + document.body.firstElementChild.appendChild( span ) } function print( text ) { - $('body').append( text ) + $('body div').append( text ) } function printPrefix() { - print( working_dir + '$ ' ) + print(working_dir + '$ ') } diff --git a/examples/resources/style.css b/examples/resources/style.css index ddd6a83..110e8e3 100644 --- a/examples/resources/style.css +++ b/examples/resources/style.css @@ -1,17 +1,13 @@ body { background-color: #000; color: #0F0; - font: 1em coolFont; + font: 1.2em monospace; + margin-top: 0; word-break: break-all; word-wrap: break-word; white-space: pre-line; } -@font-face { - font-family: coolFont; - src: url('ShareTechMono-Regular.ttf'); -} - .stderr { color: #F00; } \ No newline at end of file diff --git a/examples/resources/terminal.html b/examples/resources/terminal.html index df823f2..e130b10 100644 --- a/examples/resources/terminal.html +++ b/examples/resources/terminal.html @@ -11,5 +11,7 @@ - + +
+