diff --git a/event.html b/profile.html similarity index 100% rename from event.html rename to profile.html diff --git a/raw.html b/raw.html new file mode 100644 index 0000000..f45898e --- /dev/null +++ b/raw.html @@ -0,0 +1,101 @@ + + + + {{if eq .type "profile"}} + Nostr Public Key {{.npub}} + + + {{ if .metadata.Picture }} + + + {{end}} {{ if .metadata.About }} + + {{end}} + + {{end}} + + {{ if eq .type "event" }} + Nostr Event {{.nevent}} + + + + + {{ if .textImageURL }} + + + + + {{ else }} + + + {{ if .image }} + + + {{end}} {{ if .video }} + + + + {{end}} + + {{end}} + + + {{end}} + + {{ if eq .type "address" }} + Nostr Address {{.naddr}} + {{end}} + + + + + +
+ open {{.type}} in {{range .clients}}
+    + {{.name}} {{end}} +
+
{{.eventJSON}}
+
+ + powered by njump + +
+ + + diff --git a/render.go b/render.go index f515591..655a024 100644 --- a/render.go +++ b/render.go @@ -13,10 +13,14 @@ import ( "github.com/nbd-wtf/go-nostr/nip19" ) -//go:embed event.html -var eventHTML string +//go:embed raw.html +var rawHTML string -var tmpl = template.Must(template.New("event").Parse(eventHTML)) +//go:embed profile.html +var profileHTML string + +//go:embed raw.html +var noteHTML string func render(w http.ResponseWriter, r *http.Request) { fmt.Println(r.URL.Path, ":~", r.Header.Get("user-agent")) @@ -52,7 +56,7 @@ func render(w http.ResponseWriter, r *http.Request) { author := event if event.Kind != 0 { - typ = "event" + typ = "note" author, _ = getEvent(r.Context(), npub) if event.Kind >= 30000 && event.Kind < 40000 { @@ -158,7 +162,7 @@ func render(w http.ResponseWriter, r *http.Request) { eventJSON, _ := json.MarshalIndent(event, "", " ") params := map[string]any{ - "createdAt": createdAt, + "createdAt": createdAt, "clients": generateClientList(code, event), "type": typ, "title": title, @@ -176,6 +180,13 @@ func render(w http.ResponseWriter, r *http.Request) { "proxy": "https://" + hostname + "/proxy?src=", "eventJSON": string(eventJSON), } + + templates := make(map[string]string) + templates["profile"] = profileHTML + templates["note"] = rawHTML + templates["address"] = rawHTML + var tmpl = template.Must(template.New("event").Parse(templates[typ])) + if err := tmpl.ExecuteTemplate(w, "event", params); err != nil { http.Error(w, "error rendering: "+err.Error(), 500) return