Add landing page for kjol, documentation
This commit is contained in:
@@ -17,6 +17,7 @@ import (
|
||||
"kjol/httputil"
|
||||
"kjol/vdom"
|
||||
"kjol/wasmdevserver"
|
||||
"kjol/webui"
|
||||
|
||||
"gowasmweb/app"
|
||||
"gowasmweb/buildsteps"
|
||||
@@ -73,15 +74,23 @@ func render(path string) (string, bool) {
|
||||
// between <div id="app"> and the markup, so hydration's childNodes line up. The
|
||||
// dev server injects the livereload script before </body> in watch mode.
|
||||
func document(inner string) string {
|
||||
// The theme boot script comes FIRST — before the stylesheet, before any markup.
|
||||
//
|
||||
// The server cannot read localStorage, so it cannot know which theme to render. If
|
||||
// the dark class were applied by the WebAssembly once it loads, a dark-mode user
|
||||
// would be shown a white page for as long as the binary takes to download and then
|
||||
// have it snatched away. This runs synchronously, before the first paint, so the
|
||||
// first paint is already right. It is the only JavaScript in the project.
|
||||
return `<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>gowasm — a tiny Blazor-like engine</title>
|
||||
<title>Kjol Web — Go + WASM</title>
|
||||
` + webui.ThemeBootScript + `
|
||||
<link rel="stylesheet" href="/app.css" />
|
||||
</head>
|
||||
<body class="bg-neutral-50 text-neutral-900 antialiased">
|
||||
<body class="bg-surface text-ink antialiased">
|
||||
<div id="app">` + inner + `</div>
|
||||
<script src="/wasm_exec.js"></script>
|
||||
<script src="/wasmboot.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user