// Package main is the WO-WZ-002 acceptance fixture: a minimal plugin with // one block, one template, and one admin page, compiled to wasm with only // the wasmguest boilerplate (main.go). package main import ( "context" "fmt" "io" "git.dev.alexdunmow.com/block/core/blocks" "git.dev.alexdunmow.com/block/core/plugin" "git.dev.alexdunmow.com/block/core/templates" ) // Registration is the fixture's plugin registration — the same shape a .so // plugin exports, untouched by the wasm migration. var Registration = plugin.PluginRegistration{ Name: "wasmfixture", Version: "0.0.1", Register: func(tr templates.TemplateRegistry, br blocks.BlockRegistry) error { br.Register(blocks.BlockMeta{ Key: "greeting", Title: "Greeting", Description: "Renders a greeting", Category: blocks.CategoryContent, }, func(ctx context.Context, content map[string]any) string { if boom, _ := content["boom"].(bool); boom { panic("fixture kaboom") } name, _ := content["name"].(string) if name == "" { name = "world" } return fmt.Sprintf("
hello %s
", name) }) return tr.Register("wasmfixture-page", func(ctx context.Context, doc map[string]any) templates.HTMLComponent { title, _ := doc["title"].(string) return htmlString("