You can execute the example by running $ dyd -serve
in this directory and
pointing your browser to http://localhost:6226.
To only convert the example into a go install-able repository issue $ dyd
.
In either case here are the files after running dyd:
examples/static/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>static example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style><? write("%s", ctx.W3CSS()) ?></style>
</head>
<body style="background-color: #5864ff;">
<div class="w3-container w3-text-white">
<p>Hello!</p>
<div class="w3-animate-fading w3-display-middle">
<img src="/images/logo500.png">
</div>
</div>
</body>
</html>
// Code generated by dyd, DO NOT EDIT.
package main
import (
"golang.org/x/net/html"
"modernc.org/dyd/dyd"
)
// dydStart starts the webapp. dydStart always returns a non-nil error.
func dydStart(beforeListen ...func(a dyd.App) error) error {
app, err := dyd.NewApp()
if err != nil {
return err
}
app.Bind("/index.html", Serve_index_1html)
app.AddMeta("/index.html", []html.Attribute{
html.Attribute{Namespace: "", Key: "charset", Val: "utf-8"},
})
app.AddMeta("/index.html", []html.Attribute{
html.Attribute{Namespace: "", Key: "name", Val: "viewport"},
html.Attribute{Namespace: "", Key: "content", Val: "width=device-width, initial-scale=1"},
})
for _, f := range beforeListen {
if err = f(app); err != nil {
return err
}
}
return app.ListenAndServe(":6226")
}
examples/static/index.html.go
// Code generated by dyd, DO NOT EDIT.
package main
import (
"modernc.org/dyd/dyd"
)
// Serve_index_1html produces /index.html.
func Serve_index_1html(ctx *dyd.Context, write func(s string, args ...any) error) {
write(`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>static example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>`)
write("%s", ctx.W3CSS())
write(`</style>
</head>
<body style="background-color: #5864ff;">
<div class="w3-container w3-text-white">
<p>Hello!</p>
<div class="w3-animate-fading w3-display-middle">
<img src="/images/logo500.png">
</div>
</div>
</body>
</html>
`)
}
package main
import (
"embed"
"log"
"net/http"
)
var (
//go:embed images
images embed.FS
)
func main() {
http.Handle("/images/", http.FileServer(http.FS(images)))
log.Fatal(dydStart())
}