diff --git a/html/head.html b/html/head.html
index f9a95ec3..ad653b77 100644
--- a/html/head.html
+++ b/html/head.html
@@ -12,4 +12,4 @@
<%template "extra-head" .%>
<%.ExtraDHead%>
-<%end%>
+<%end%>
diff --git a/src/app/spreed-webrtc-server/main.go b/src/app/spreed-webrtc-server/main.go
index 3c822d62..27e92626 100644
--- a/src/app/spreed-webrtc-server/main.go
+++ b/src/app/spreed-webrtc-server/main.go
@@ -25,6 +25,7 @@ import (
"bytes"
"crypto/rand"
"encoding/hex"
+ "encoding/json"
"flag"
"fmt"
"html/template"
@@ -208,8 +209,17 @@ func runner(runtime phoenix.Runtime) error {
}
// Load templates.
+ templateFuncMap := template.FuncMap{
+ "json": func(obj interface{}) (template.HTML, error) {
+ data, err := json.Marshal(obj)
+ if err != nil {
+ return "", err
+ }
+ return template.HTML(data), nil
+ },
+ }
templates = template.New("")
- templates.Delims("<%", "%>")
+ templates.Delims("<%", "%>").Funcs(templateFuncMap)
// Load html templates folder
err = filepath.Walk(path.Join(rootFolder, "html"), func(path string, info os.FileInfo, err error) error {