aboutsummaryrefslogtreecommitdiff
path: root/console/src/jsMain/kotlin/main.kt
blob: c0a4f382e5787971771735eaf92b2b9530d58cce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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"))

}