diff --git a/index.html b/index.html
index bd5b6f0..5beb343 100644
--- a/index.html
+++ b/index.html
@@ -169,29 +169,52 @@
const underline= "\x1b[94;4m";
const normal= "\x1b[0m";
var printOnTerm = {
+ getAsciiTitle: function ()
+ {
+ var title = [
+ color + " __ __ _ __ ____ __ " + normal,
+ color + " \\ \\ / /__| |_\\ \\ / / \\/ | " + normal,
+ color + " \\ \\/\\/ / -_) '_ \\ V /| |\\/| | " + normal,
+ color + " \\_/\\_/\\___|_.__/\\_/ |_| |_| " + normal,
+
+ ];
+ return title;
+ },
getAsciiText: function ()
{
var text = [
- " WebVM is a server-less virtual Linux environment running fully client-side ",
- " in HTML5/WebAssembly. ",
- " ",
- " In this demo, it runs an unmodified Debian distribution including many ",
- " native development toolchains. ",
- " ",
- " WebVM is powered by the CheerpX virtualization engine, and enables safe, ",
- " sandboxed client-side execution of x86 binaries on any browser. ",
- " ",
- " CheerpX includes an x86-to-WebAssembly JIT compiler, a virtual block-based ",
- " file system, and a Linux syscall emulator. ",
- " ",
- " -------------- ",
+ " +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+",
+ " | |",
+ " | WebVM is a server-less virtual Linux environment running fully client-side |",
+ " | in HTML5/WebAssembly. |",
+ " | |",
+ " | In this demo, it runs an unmodified Debian distribution including many |",
+ " | native development toolchains. |",
+ " | |",
+ " | WebVM is powered by the CheerpX virtualization engine, and enables safe, |",
+ " | sandboxed client-side execution of x86 binaries on any browser. |",
+ " | |",
+ " | CheerpX includes an x86-to-WebAssembly JIT compiler, a virtual block-based |",
+ " | file system, and a Linux syscall emulator. |",
+ " | |",
+ " | For more information: " + underline + "https://medium.com/p/40a60170b361" + normal + " |",
+ " | |",
+ " | " +
+ underline + "GitHub" + normal + " | " +
+ underline + "Issues" + normal + " | " +
+ underline + "Gitter" + normal + " | " +
+ underline + "Twitter" + normal + " | " +
+ underline + "Latest News" + normal + " | " +
+ underline + "About CheerpX" + normal + " |",
+ " | |",
+ " +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+",
"",
" Welcome to WebVM (build CX_VERSION). If unsure, try these examples:",
"",
- " python3 examples/python3/fibonacci.py ",
- " gcc -o helloworld examples/c/helloworld.c && ./helloworld",
- " objdump -d ./helloworld | less -M",
- " vim examples/c/helloworld.c",
+ " python3 examples/python3/fibonacci.py ",
+ " gcc -o helloworld examples/c/helloworld.c && ./helloworld",
+ " objdump -d ./helloworld | less -M",
+ " vim examples/c/helloworld.c",
"",
];
return text;
@@ -334,12 +357,55 @@
}
function initialMessage()
{
+ printOnTerm.printMessage(printOnTerm.getAsciiTitle());
printOnTerm.printMessage(["\n"]);
printOnTerm.printMessage(printOnTerm.getAsciiText());
+ term.registerLinkMatcher(/https:\/\/medium\.com\/p\/40a60170b361/, function(mouseEvent, matchedString) {
+ window.open(matchedString, "_blank")
+ });
const textArray = new Array(6);
const linksArray = new Array(6);
const rangesArray = new Array(6);
var last = 0;
+ const textLinkLine = " | GitHub | Issues | Gitter | Twitter | Latest News | About CheerpX |";
+ const lineWithLinks = 23;
+ function addLink(text, website)
+ {
+ var index = textLinkLine.indexOf(text);
+ const start_x = index+1;
+ const end_x = index + text.length;
+ rangesArray[last] = {start: {x:start_x, y:lineWithLinks}, end: {x:end_x, y:lineWithLinks}};
+ linksArray[last] = website;
+ last++;
+ }
+
+ addLink("GitHub", "https://github.com/leaningtech/webvm");
+ addLink("Issues", "https://github.com/leaningtech/webvm/issues");
+ addLink("Gitter", "https://gitter.im/leaningtech/cheerpx");
+ addLink("Twitter", "https://twitter.com/leaningtech");
+ addLink("Latest News", "https://medium.com/leaningtech");
+ addLink("About CheerpX", "https://leaningtech.com/cheerpx");
+ var provider = {
+ provideLinks(bufferLineNum, callback) {
+ switch(bufferLineNum)
+ {
+ case lineWithLinks:
+ {
+ callback([
+ {range: rangesArray[0], activate() {window.open('' + linksArray[0], '_blank');}},
+ {range: rangesArray[1], activate() {window.open('' + linksArray[1], '_blank');}},
+ {range: rangesArray[2], activate() {window.open('' + linksArray[2], '_blank');}},
+ {range: rangesArray[3], activate() {window.open('' + linksArray[3], '_blank');}},
+ {range: rangesArray[4], activate() {window.open('' + linksArray[4], '_blank');}},
+ {range: rangesArray[5], activate() {window.open('' + linksArray[5], '_blank');}},
+ ]);
+ break;
+ }
+
+ }
+ }
+ };
+ term.registerLinkProvider(provider);
console.log("Welcome. We appreciate curiosity, but be warned that keeping the DevTools open causes significant performance degradation and crashes.");
}
initialMessage();