aboutsummaryrefslogtreecommitdiff
path: root/console/src/jsMain/kotlin/main.kt
diff options
context:
space:
mode:
Diffstat (limited to 'console/src/jsMain/kotlin/main.kt')
-rw-r--r--console/src/jsMain/kotlin/main.kt41
1 files changed, 41 insertions, 0 deletions
diff --git a/console/src/jsMain/kotlin/main.kt b/console/src/jsMain/kotlin/main.kt
new file mode 100644
index 0000000..c0a4f38
--- /dev/null
+++ b/console/src/jsMain/kotlin/main.kt
@@ -0,0 +1,41 @@
+import kotlinx.browser.document
+import kotlinx.css.minHeight
+import kotlinx.css.vh
+import kotlinx.html.dom.append
+import kotlinx.html.js.div
+import moe.nea89.website.KConsole
+import moe.nea89.website.Styles
+import moe.nea89.website.defaultLsCommand
+import moe.nea89.website.fileSystem
+import styled.injectGlobal
+
+
+val defaultFileSystem = fileSystem {
+ "etc" {
+ "passwd" text "hunter2"
+ }
+ "home/nea" {
+ "todo" text """
+ | - git gud
+ | - finish this website
+ | - convince the general public that comic sans is a viable font
+ """.trimMargin()
+ }
+ "flag" text "CTF{12345abcdefghijklmonp3.1.4.1.5.9.2.8}"
+}
+
+fun main() {
+ injectGlobal {
+ ".${Styles.consoleClass}" {
+ minHeight = 100.vh
+ }
+ }
+
+ val root = document.body!!.append.div()
+ val console = KConsole.createFor(root, fileSystem = defaultFileSystem)
+ console.addLine("Starting stfff")
+ console.PS1 = { "echowebsite > " }
+ console.rerender()
+ console.registerCommand(defaultLsCommand("ls"))
+
+} \ No newline at end of file